KR100977490B1 - 스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치 - Google Patents

스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치 Download PDF

Info

Publication number
KR100977490B1
KR100977490B1 KR1020067025388A KR20067025388A KR100977490B1 KR 100977490 B1 KR100977490 B1 KR 100977490B1 KR 1020067025388 A KR1020067025388 A KR 1020067025388A KR 20067025388 A KR20067025388 A KR 20067025388A KR 100977490 B1 KR100977490 B1 KR 100977490B1
Authority
KR
South Korea
Prior art keywords
coded portions
frame
frames
acquisition
intra
Prior art date
Application number
KR1020067025388A
Other languages
English (en)
Other versions
KR20070007382A (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 KR20070007382A publication Critical patent/KR20070007382A/ko
Application granted granted Critical
Publication of KR100977490B1 publication Critical patent/KR100977490B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

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)

Abstract

멀티미디어 프레임들을 인코딩 및 디코딩하는 방법 및 장치가 제시된다. 본 발명은 관측가능한(viewable) 프레임들을 포함하는 포착(acquisition) 프레임들 세트를 인코딩하는 단계를 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는(positioning) 것을 포함하며, 인터 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 인터 코딩된 부분들을 예측하는 것을 포함한다.

Description

스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는 방법 및 장치{METHOD AND APPARATUS TO ENABLE ACQUISITION OF MEDIA IN STREAMING APPLICATIONS}
본 발명은 데이터 스트림의 랜덤 액세스를 인에이블하기 위한 방식으로 인코딩된 디지털 데이터를 분배하는 방법, 장치 및 시스템에 관한 것이다.
근래에 디지털 멀티미디어 분배에 있어서 디지털 비디오 및 오디오 압축 기술들이 폭발적으로 성장하였다. 1990년대 초반 이래로, 예를 들면 ITU-T의 비디오 코딩 전문가 그룹(VCEG) 및 ISO/IEC의 움직임 영상 전문가 그룹과 같은 국제 표준 그룹들이 국제 비디오 리코딩 표준들을 개발하였다. 이러한 표준들은 예를 들어, MPEG-2, MPEG-4(통칭하여 MPEG-x), H.261, H.262, H.263, 및 H.264(통칭하여 H.26x)를 포함한다.
국제 비디오 리코딩 표준은 소위 블록 기반 하이브리드 비디오 코딩 방법을 따른다. 블록 기반 하이브리드 비디오 코딩 방식에서, 화소들은 픽쳐의 디지털 표현 기초로서 작용한다. 화소들의 그룹은 소위 블록을 형성한다. 디지털 압축 연산들이 실행되는 공통 블록 사이즈는 매크로블록으로 알려진다. 매크로블록은 16x16 화소들로 구성된다. 서브-매크로블록은 예를 들어, 16x8, 8x16, 8x8, 8x4, 4x8, 및 4x4 화소들을 포함하여 보다 작은 세트의 화소들로 구성된다. 압축 연산들은 서브-매크로블록들에서 수행될 수 있고, 따라서 본 발명을 명확하게 하기 위해서, 이러한 연산들은 모든 블록 사이즈들 또는 블록 사이즈들의 그룹들을 포함할 수 있는 프레임의 일부에서 수행되는 것으로 설명될 것이다. 매크로블록 그룹은 소위 슬라이스(slice)를 형성한다. 슬라이스들은 예를 들어, 로우, 칼럼, 정사각형, 또는 직사각형의 형태로 인접한 매크로블록들로 구성될 수 있다. 슬라이스들은 분리된 매크로블록들 또는 분리된 매크로블록들 및 인접한 매크로블록들의 조합으로 구성될 수도 있다. 슬라이스들은 함께 그룹화되어 비디오 시퀀스를 형성하는 프레임들 시퀀스 시간의 일 포인트에서 하나의 프레임을 형성한다.
MPEG-x 및 H.26x 표준은 고정 또는 가변 길이 소스 코딩 기술들을 사용하여 비디오, 오디오 및 다른 정보를 압축 및 전달하는데 적합한 데이터 처리 및 조작 기술들을 설명한다. 특히, 상술한 표준들 및 다른 하이브리드 코딩 표준/기술들은 인트라-프레임 코딩 기술(예를 들면, 런-길이(run-length) 코딩, 허브만 코딩 등) 및 인터-프레임 코딩 기술(예를 들면, 순방향 및 역방향 예측 코딩, 움직임 압축 등)를 이용하여 비디오 정보를 압축한다. 특히, 비디오 처리 시스템에서, 하이브리드 비디오 처리 시스템은 인트라-프레임 및/또는 인터-프레임 움직임 압축 인코딩을 이용한 비디오 프레임의 예측 기반 압축 인코딩에 의해 특징지워진다.
인터-프레임 코딩 기술은 비디오 시퀀스의 프레임들 사이에서 시간적인 상관관계를 이용한다. 이러한 목적으로 일반적으로 사용되는 시간적인 예측은 압축된 비트스트림에서 랜덤 액세스 포인트들을 감소시키는데, 왜냐하면 현재 프레임이 참 조하는 프레임이 이전에 디코딩되지 않으면, 현재 시간적으로 예측된 프레임의 디코딩이 달성될 수 없기 때문이다. 따라서, 디코더 또는 사용자 애플리케이션 엔드에서, 수신된 비트스트림(스트림 미디어의 경우 스트림된 비트 또는 다운로딩된 파일의 형태로)은 즉시 재생될 수 없다. 대신, 디코딩은 예를 들면, 인트라-코딩된 프레임들 또는 IDR 프레임들과 같은 스트림/파일에서 미리 결정된 랜덤 액세스 포인트들에서만 시작할 수 있다. IDR, 또는 순시(instantaneous) 디코더 리프레시, 프레임들은 H.264에서 도입되었고, 랜덤 액세스 포인트로 사용될 수 있다. IDR에 비해 (시간적으로) 선행하는 정보는 상술한 인터-코딩 기술을 이용하는 뒤이은 프레임들에 대한 기준으로서 사용되지 않는다. 비디오 스트리밍 애플리케이션들에서, 특히 멀티캐스트 시나리오에서, 즉시(또는 보다 빨리) 디코딩하는 능력이 사용자의 경험관점에서 바람직하다.
인트라-코딩 기술들은 인터-코딩에 비해서는 압축이 덜하다. 결과적으로, IDR 및 인트라-코딩된 프레임들의 빈도의 증가는 빈번한 랜덤 액세스 포인트들을 제공하면서 높은 비트율을 야기하게 된다. 랜덤 액세스 포인트를 제공하는 개선되고, 잠재적으로 낮은 비트율 방법이 요구된다.
시간적으로 예측된 프레임들 내에서 인트라-코딩된 부분들을 사용하여 비-인트라 코딩된 프레임들로부터 비디오 스트림의 랜덤 액세스를 인에이블하는 방법, 장치, 및 시스템이 제공된다. 또한, 일련의 프레임들, 소위 포착 픽쳐들 그룹(또는 포착 GOP)이 랜덤 액세스 포인트로서 사용될 수 있다. 이러한 포착 GOP는 시간적으로 예측된 프레임들을 포함하고, 그 각각은 인트라-코딩된 영역들을 포함한다. 모든 인트라 코딩된 영역들이 결합되면, 전체 픽쳐(또는 프레임 또는 영역)가 관측될 수 있다.
도1은 스트리밍 픽쳐들을 인코딩 및 디코딩하는 일반적인 통신 시스템에 대한 블록 다이아그램이다.
도2A는 프레임 기반 비트스트림의 순차적인 액세스를 보여주는 도이다.
도2B는 프레임 기반 비트스트림의 랜덤 액세스를 보여주는 도이다.
도3은 포착 GOP 프레임 시퀀스의 예를 보여주는 도이다.
도4는 포착 GOP 프레임 시퀀스의 또 다른 예를 보여주는 도이다.
도5는 인트라 코딩된 부분들이 인코딩되는 프레임 시퀀스를 보여주는 도이다.
도6은 포착 GOP 프레임 시퀀스의 예를 보여주는 도이다.
도7은 포착 GOP 프레임 시퀀스의 예를 보여주는 도이다.
도8은 포착 GOP를 포함하는 인코딩 프로세스의 예를 보여주는 흐름도이다.
도9는 포착 GOP를 포함하여 디코딩 프로세서의 예를 보여주는 흐름도이다.
수신 장치의 사용자들이 보다 효과적으로 비디오 스트림에 액세스하도록 하기 위해서 디지털 데이터 프레임 시퀀스를 인코딩하는 방법, 장치 및 시스템이 여기서 제시된다. 이러한 방법, 장치, 및 시스템은 인트라-프레임 인코딩된 액세스 포인트 방법에 대한 대안적인 저-비트율 방법을 제공한다. 본 발명을 보다 명확히 하기 위해서, 일부 상세 내용들은 생략되었다. 여기서 제시되지 않는 구체적인 상세 내용들은 당업자가 용이하게 이해할 수 있을 것이다.
도1은 스트리밍 픽쳐들을 인코딩 및 디코딩하는 일반적인 통신 시스템의 블록 다이아그램이다. 시스템(100)은 인코더 장치(105) 및 디코더 장치(110)를 포함한다. 인코더 장치(105)는 인트라 인코딩 컴포넌트(115), 예측 인코딩 컴포넌트(120), 포착 GOP 컴포넌트(125), 메모리 컴포넌트(130) 및 통신 컴포넌트(175)를 포함한다. 인코더 장치(105)는 통신 컴포넌트(175)에 포함된 통신 로직을 사용하여 외부 소스(135)로부터 데이터를 수신할 수 있다. 외부 소스(135)는 예를 들어, 외부 메모리, 인터넷, 라이브 비디오 및/또는 오디오 피드일 수 있고, 데이터 수신은 유선 및/또는 무선 통신을 포함할 수 있다. 외부 소스(135)에 포함된 데이터는 미처리(인코딩되지 않음) 또는 인코딩된 상태일 수 있다. 인트라 인코딩 컴포넌트(115)는 프레임들의 인트라 코딩된 부분들(슬라이스들, 매크로블록들 및 서브-매크로블록들)을 인코딩하는데 사용될 수 있다. 예측 인코딩 컴포넌트(120)는 순방향 예측, 역방향 예측 및 양방향 예측을 포함하는 프레임들의 예측된 부분을 인코딩하는데 사용된다. 예측된 프레임들을 인코딩하는데 사용되는 로직을 포함할 뿐만 아니라, 예측 인코딩 컴포넌트(120)는 또한 예측 부분들에 대한 기준 프레임들을 선택하는데 사용되는 로직을 포함한다.
인코더 장치(105)는 인코딩을 위해 인코딩된 데이터 및 미처리 데이터에 액세스할 수 있다. 인코딩된 데이터는 인트라 코딩된 부분들을 인터 코딩된 부분들로 대체하거나 또는 그 반대로 대체하기 위해서 액세스될 수 있으며, 이로 인해 인코딩된 프레임 시퀀스를 포착 GOP로 변환한다. 인코딩된 데이터(인트라 코딩 또는 인터 코딩된 데이터)에 액세스할 때, 인트라 인코딩 컴포넌트(115) 및 예측 인코딩 컴포넌트(120)에 포함된 로직은 인코딩된 데이터를 디코딩하여 미처리 데이터를 획득하게 된다. 이러한 획득된 미처리 데이터, 또는 액세스된 미처리 데이터는 포착 GOP를 포함하도록 인코딩될 수 있다. 포착 GOP 컴포넌트(125)는 포착 GOP의 각 포착 프레임의 어떤 부분들이 인트라 인코딩 컴포넌트(115)에 의해 인트라 코딩되어야 하는지, 그리고 포착 GOP의 각 포착 프레임의 어떤 부분들이 예측 인코딩 컴포넌트(120)에 의해 인터 코딩되어야 하는지 여부를 결정하는데 사용되는 로직을 포함한다. 포착 GOP 컴포넌트(125)는 또한 포착 GOP의 어떤 프레임들이 다른 프레임들의 인터 코딩된 부분들에 의해 참조될 수 있는지를 제한하는 로직을 포함한다. 인코딩 후에, 인코딩된 프레임들은 메모리 컴포넌트(130) 또는 외부 메모리에 저장된다. 외부 메모리는 외부 소스(135)와 동일할 수도 있고, 별개의 메모리 컴포넌트(미도시)일 수도 있다. 통신 컴포넌트(175)는 네트워크(140)에서 전송(Tx)에 사용되는 로직을 포함한다. 네트워크(140)는 전화, 케이블, 및 광섬유와 같은 유선 시스템 또는 무선 시스템의 일부일 수 있다. 무선 통신 시스템의 경우, 네트워크(140)는 예를 들어, 코드 분할 다중 접속(CDMA 또는 CDMA2000) 통신 시스템일 수 있고, 대안적으로 이러한 시스템은 주파수 분할 다중 접속(FDMA) 시스템, GSM/GPRS(범용 패킷 무선 서비스)/EDGE(인헨스드 데이터 GSM 환경) 또는 TETRA(지상 트렁키드 무선) 이동 전화 기술과 같은 시간 분할 다중 접속(TDMA) 시스템, 광역 코드 분할 다중 접속(WCDMA), 고속 레이트(1xEV-DO 또는 1xEV-DO 골드 멀티캐스트) 시스템, 또는 이러한 기술들의 조합을 사용하는 임의의 무선 통신 시스템일 수 있다. 인코딩된 프레임들은 네트워크(140) 상에서 전송된다. 인코더 장치(105) 컴포넌트들에 의해 수행되는 인코딩 처리는 아래에서 상세히 설명된다.
디코더 장치(110)는 인트라 디코딩 컴포넌트(145), 예측 디코딩 컴포넌트(150), 포착 GOP 컴포넌트(155), 메모리 컴포넌트(160) 및 통신 컴포넌트(180)를 포함하여, 인코더 장치(105)와 유사한 컴포넌트들을 포함한다. 어떠한 포착 GOP 컴포넌트도 갖지 않는 디코더 장치는 정상적인 방식으로 디코딩할 수 있고, 여기서 포착은 디코더에게 인지되지 못하고, 랜덤 액세스 포인트에서 이뤄진다. 포착 GOP 컴포넌트(155)는 디코더가 포착 GOP의 위치를 파악할 수 있게 하고, 포착에 필요한 부분들만을 디코딩하도록 하여, 디코딩 처리의 효율성을 향상시킨다. 디코더 장치(110)는 네트워크(140) 상에서 전송되거나, 또는 외부 저장장치(165)로부터 전송된 인코딩된 데이터를 수신한다. 통신 컴포넌트(180)는 네트워크(140)에서 인코딩된 데이터를 수신(Rx)하는데 사용되는 로직, 및 외부 저장장치(165)로부터 인코딩된 데이터를 수신하는 로직을 포함한다. 외부 저장장치(165)는 예를 들어, 외부 RAM 또는 ROM, 또는 원격 서버일 수 있다. 인트라 디코딩 컴포넌트(145)는 인트라 코딩된 데이터를 디코딩하는데 사용된다. 예측 디코딩 컴포넌트(150)는 인터 코딩된 데이터를 디코딩하는데 사용된다. 포착 GOP 컴포넌트(155)는 사용자의 채널 스위칭 후에 또는 신호의 제1 포착시에, 포착 GOP를 포함하는 비트스트림의 초기 포착을 인에이블하는데 사용되는 로직을 포함한다. 포착 GOP는 다수의 포착 프레임들을 포함한다. 포착 GOP가 먼저 식별되고, 그리고 나서 인트라 코딩된 포착 프레임들의 부분들이 인트라 디코딩 컴포넌트(145)에 의해 디코딩된다. 디코딩된 인트라 코딩된 부분들을 참조하는 임의의 뒤이은 인터 코딩된 부분들은 예측 디코딩 컴포넌트(150)에 의해 디코딩된다. 모든 인트라 코딩된 부분들 및 포착 GOP에 포함된 모든 포착 프레임들의 뒤이은 인터 코딩된 부분들이 디코딩된 후, 그 결과는 결합된 인트라 코딩 및 인터 코딩된 부분들로 구성되는 완전히 리프레쉬된 관측가능한 프레임이다. 디코딩 후에, 디코딩된 프레임들은 디스플레이 컴포넌트(170)에 디스플레이되거나, 내부 메모리(160) 또는 외부 저장장치(165)에 저장된다. 디스플레이 컴포넌트(170)는 전화기 또는 PDA 상의 디스플레이 스크린과 같이 디코딩 장치의 통합된 부분이거나, 또는 외부 주변 장치일 수 있다. 디코더 장치(110)에 의해 수행되는 디코딩 처리들은 아래에서 보다 상세히 설명된다.
도1의 인트라 인코딩 블록(115) 및 인트라 디코딩 블록(145)에서 사용되는 인트라 코딩은 다른 픽쳐를 참조하지 않고 현재 픽쳐의 부분에 기반한 디지털 압축 방법이다. 인트라 코딩은 먼저 공간 예측을 사용하고, 여기서 화소 값들은 그들의 이웃하는 화소 값들로부터 예측될 수 있다. 현재, 단지 H.264만이 공간 예측을 지원한다. H.264는 루마(luma) 값들에 대해 2개의 공간 예측 모드들, 즉 16x16 매크로 공간 예측 및 4x4 서브-매크로블록 공간 예측을 지원한다. H.264는 크로마(chroma)에 대해 하나의 예측 모드, 즉 8x8을 제공한다. 8x8 모드에서, 8x8 크로마 블록은 16x16 루마 매크로블록과 유사한 방식으로 예측된다. 공간 예측후에, 잔존 정보는 예를 들어, 이산 코사인 변환(DCT), 또는 H.264의 경우 정수 변환을 사용하여 변환되고, 그리고 나서 양자화된다. 인트라-코딩은 슬라이스 레벨에서 이뤄질 수 있고, 여기서 슬라이스는 매크로블록들(16x16 화소 매크로블록들) 그룹으로 구성된다. 인트라 코딩된 슬라이스 또는 I-슬라이스는 단지 인트라 코딩된 매크로블록들만을 포함하고, 시간적인 예측을 사용하지 않는다. 전체 프레임이 인트라 코딩될 수 있고(I-프레임), 랜덤 액세스 포인트로서 사용될 수 있다. I-프레임(또는 I-슬라이스)는 아래에서 설명되는 인터 코딩 또는 예측 프레임과는 달리 압축된 데이터에 의해 표현되는 픽쳐를 디스플레이하기 위해 필요한 모든 정보를 포함한다. 이러한 이유로, I-프레임은 랜덤 액세스 시나리오에서 초기 프레임으로 사용될 수 있다. 그러나, I-프레임은 인터 코딩 또는 예측 프레임과 같은 많은 압축을 제공하지 않는다.
DCT는 사용될 수 있는 가역 2-차원 변환의 일 타입이다. 다른 가능한 변환들은 예를 들어, 이산 웨이블릿 변환(DWT), H.264에서의 정수 변환, 또는 하다마드 변환을 포함한다. 변환된 계수들의 양자화는 매 매크로블록 마다 변경될 수 있다. 양자화 후에, 허프만 코딩, 가변 길이 코딩, 또는 이진 산술 코딩과 같은 엔트로피 코딩이 추가적인 디지털 압축을 위해 사용된다. 엔트로피 코딩은 가장 빈번히 발생되는 비트 스트림들을 보다 짧은 코드로 대체할 수 있고, 가장 적게 발생되는 비트 스트림을 보다 긴 코드로 대체할 수 있다. 엔트로피 코딩은 코딩되는 데이터에 나타날 때, 패턴들의 장점들을 이용하기 위해서 컨텍스트 적응형일 수 있다. 컨텍스트 적응형 코딩은 슬라이스 레벨, 또는 예를 들면, 매크로블록 레벨 또는 서브-매크로블록 레벨과 같이 보다 낮은 레벨에서 동작할 수 있다.
인터-코딩 또는 예측 코딩은 예를 들면, 인트라 코딩 보다 더 큰 디지털 압축을 허용하기 위해서 움직임 추정을 사용하여 시간 포인트들 사이의 유사점을 이용할 수 있는 시간 예측의 일 형태이다. 인터 코딩은 도1의 예측 인코딩 블록(120) 및 예측 디코딩 블록(150)에 의해 수행된다. 인터-코딩은 유사한 블록들에 대한 다른 시간 포인트에서 기준 픽쳐들을 검색함으로써 매크로블록 레벨 또는 더 낮은 레벨에서 각 픽쳐를 볼 수 있다. 매칭이 발견되면, 그 전체 블록에 대한 모든 DCT 계수 값들을 저장하지 않고, 시스템은 보다 훨씬 작은 움직임 벡터 및 잔존 에러를 저장한다. 움직임 벡터는 시간적인 픽쳐들 사이의 움직임(또는 움직임 없음)을 기술하고, 잔존 에러 컴포넌트는 예측 블록에서의 임의의 에러를 수정한다. 이러한 방식으로, 효율적인 압축이 달성된다.
인터-코딩은 예를 들어, 하나 또는 그 이상의 기준 프레임들로부터 순방향 예측, 역방향 예측, 및 양방향 예측을 포함한다. 순방향 예측에서, 기준 프레임에서의 최적 매칭 매크로블록은 뒤이은 프레임의 매크로블록에 대한 예측으로 사용된다. 역방향 예측에서, 기준 프레임에서의 최적 매칭 매크로블록이 이전 프레임의 매크로블록에 대한 예측으로 사용된다. 양방향 예측에서, 인터 코딩되는 현재 프레임은 이전 기준 프레임 및 뒤이은 기준 프레임 사이에 위치된다. 이전 및 뒤이은 기준 프레임들로부터의 최적 매칭 매크로블록들은 결합되어(예를 들면, 단순 평균 또는 가중 평균을 사용하여 결합됨) 현재 프레임의 매크로블록에 대한 예측을 형성한다. 임의의 기준 프레임들로부터의 순방향 예측, 역방향 예측, 및 양방향 예측은 여기서 통칭하여 "인터-코딩" 또는 "인터-코딩된" 기술로 지칭된다.
랜덤 액세스는 시간상의 임의의 포인트에서 데이터에 액세스하는 능력을 지칭한다. 랜덤 액세스와는 달리, 순차적인 액세스는 모든 중간 포인트들을 디코딩하는 것을 필요로 한다. 도2A는 프레임 기반 비트스트림의 순차적인 액세스를 보여준다. 프레임들(20,22,24,26)은 순차적으로 디코딩된다. 이는 프레임(22)이 프레임(20)으로부터 순방향 예측되고, 프레임(24)이 프레임(22)으로부터 순방향 예측되며, 프레임(26)이 프레임(24)으로부터 순방향 예측되는 경우에 그러하다. 도2B는 프레임 기반 비트스트림의 랜덤 액세스를 보여준다. 프레임(26)은 프레임(20,22,24)의 디코딩 없이 즉시 디코딩된다. 프레임(26)은 예를 들어 전체 인트라 코딩된 프레임인 경우에 디코딩될 수 있다.
비디오 포착은 랜덤 액세스 형태이고, 랜덤 액세스는 예를 들면, 보다 낮은 OSI(개방 시스템 상호접속) 계층들에서의 시스템 포착과 같은 다른 제한들을 포함한다. 비디오 포착은 애플리케이션 계층(비디오 디코더가 존재할 수 있는 계층)이 비디오 디스플레이를 개시할 수 있는 상태를 지칭한다. 하이브리드 코딩된 비디오 비트 스트림의 경우, 인터-코딩으로 인해, 랜덤 액세스 또는 비디오 포착은 모든 프레임들에서 달성될 수 없다. 디코더는 랜덤 액세스 포인트의 위치를 파악하기 위해서 비트스트림 앞뒤로 이동한다. 전체 프레임의 인트라 코딩은 랜덤 액세스 포인트를 제공하는 일 방법이다. 그러나, 전력 제한된 장치, 프로세서 제한된 장치, 또는 데이터율 제한된 채널들은 전체 데이터 프레임들에 대한 빈번한 인트라 코딩을 수용할 수 없다.
포착 GOP는 랜덤 액세스 포인트를 제공하기 위해서 전체 비디오 프레임을 인 트라 코딩하는 것에 대한 대안을 제공한다. 도3은 포착 GOP 프레임 시퀀스의 일 예이다. 포착 GOP(30)는 인트라 코딩된 부분들을 포함하는 N개의 포착 프레임들(32)("포착 1" - "포착 N"으로 라벨링됨)을 포함한다. 비트 스트림에서 제시되는 바와 같이, 포착 GOP 외부에 비-포착 프레임들(34)(라벨링되지 않은 프레임)이 존재한다. 인트라 코딩된 부분들은 예를 들면, 화소, 블록, 서브-매크로블록, 매크로블록, 슬라이스 등과 같이 임의의 사이즈 또는 형태를 가질 수 있다. 각각의 포착 프레임(32)은 또한 인트라 코딩되지 않은 나머지 블록들로 구성되는 인터 코딩된 부분들을 포함한다. 비-포착 프레임들(34)은 또한 인트라 코딩 및 인터 코딩 모두를 포함할 수 있다.
도4는 포착 GOP 프레임 시퀀스의 또 다른 예를 보여준다. 이러한 예는 포착 GOP(40)의 N개의 포착 프레임들(32)("포착 1" - "포착 N"으로 라벨링됨) 사이에 삽입된 비-포착 프레임들(34)을 포함한다. 포착 프레임들 사이에 비-포착 프레임들을 삽입하는 것은 비디오 포착에서의 지연을 증가시키지만, 보다 낮은 계층들이 대응하는 입도(granularity)에서 랜덤 액세스를 제공하지 않는 경우 보다 양호한 압축 효율 또는 감소된 비트율을 제공할 수 있다. 포착 프레임들(32)은 인트라 코딩된 부분들 및 인터 코딩된 부분들을 포함한다. 포착 프레임들(32) 사이에 삽입되는 비-포착 프레임들(34)은 포착 장치가 포착 동안 비-포착 프레임들을 디코딩하는지 여부에 따라 아래에서 설명되는 바와 같이 인터 코딩에 대한 제한들을 따를 수도 있고, 그렇지 않을 수도 있다. 아래에서 설명되는 인터 코딩에 대한 제한들은 인터-예측된 부분들이 비-디코딩 부분들에 대한 의존성으로 인해 훼손됨이 없이 포 착 장치가 적절한 포착을 달성할 수 있도록 하여준다.
디코더가 비디오 포착을 수행하도록 하기 위해서, 디코더는 포착 GOP의 N개의 포착 프레임들의 인트라 코딩된 부분들을 디코딩한다. 포착 GOP에서 이전에 디코딩된 부분들(인터 코딩 또는 인트라 코딩된 부분들)을 참조하는 다른 프레임들(포착 또는 비-포착 프레임들)에 포함된 인터-코딩된 부분들(순방향, 역방향, 양방향)이 또한 디코딩될 수 있다. 인트라 코딩된 부분들을 위치시킨 후(아래에서 설명됨), 인트라 코딩된 합성물(composite)은 N개의 포착 프레임들의 인트라 코딩된 부분들을 결합함으로써 형성될 수 있다. 포착 GOP에서 N개의 포착 프레임들이 디코딩되고, 결합된 인트라-코딩된 합성물이 형성된 후, 비디오 포착이 완료된다.
일 예는 비트스트림의 미리 결정된 인터벌에 위치하는 포착 GOP를 이용하는 것이다. 예를 들어, 매 1 또는 2초와 같이, 정규적으로 이격된 시간 주기에서 포착 GOP를 포함하는 것은 랜덤 액세스를 시동하는 수신 장치가 보다 용이하게 작은 양의 비트 스트림 데이터를 검색하여 포착 GOP의 위치를 파악하고, 보다 빨리 비디오 포착을 획득할 수 있도록 하여, 사용자 경험을 개선시킬 수 있다. 일반적으로, I 프레임들은 비트 스트림에 포함되어 빈번한 랜덤 액세스를 허용하지만, 보다 작은 압축 및 보다 높은 비트율 또는 동일한 데이터율에 대해 보다 열악한 품질을 제공하게 된다. 따라서, 상술한 방법을 사용하는 경우, 예를 들면 채널들을 변경할 때 비트 스트림을 포착하는데 있어서의 지연이 감소되지만, I 프레임 혼자인 것에 비해 보다 낮은 데이터율을 허용한다.
도5는 프레임 시퀀스를 보여주며, 여기서 인트라 코딩된 부분들이 인코딩된 다. 도5는 예로서 블록들을 사용하지만, 여기서 임의의 사이즈 또는 형태의 부분들이 사용될 수 있다. 이러한 예에서 포착 GOP(500)는 6개의 포착 프레임들(501-506)으로 구성된다. 각 포착 프레임(501-506)은 6개의 인트라 코딩된 블록들(524)을 포함한다. 포착 프레임들(501-506)은 또한 아직 인트라-코딩되지 않은 블록들(520) 및 이전에 인트라-코딩된 블록들(528)을 보여준다. 어떠한 블록들도 2번 인트라 코딩되지 않으면(도5에 제시된 예가 그러함), 전체 프레임은 프레임(506)에서 제시되는 바와 같이, 6개의 포착 프레임들에서 인트라 코딩될 것이다. 이러한 예는 포착 GOP(500)의 각 프레임에서 인트라 코딩되는 동일한 수의 블록들을 보여주지만, 이것이 반드시 필요한 것은 아니다. 디스플레이될 픽쳐의 각 부분이 포착 GOP(500)에서 적어도 한번 인트라 코딩되기만 하면, 비디오 포착은 최종 포착 프레임의 디코딩되는 시간까지 획득될 수 있다. 따라서, 포착 GOP(500)의 끝에서, 프레임의 모든 부분은 인트라 코딩되었다.
포착 프레임들(501-506)은 네트워크를 통해 다수의 수신 장치들로 전송될 수 있기 때문에, 이들 중 일부는 이미 비디오 스트림을 이미 획득할 것이고, 각 포착 프레임들(501-506)의 각각에서 모든 블록이 인코딩되어야한다. 각 포착 프레임에서 인트라 코딩되지 않는 블록은 인터 코딩되고 하나 이상의 프레임들에 참조되며, 여기서 대응하는 최적 매칭은 인트라 코딩 또는 인터 코딩된다. 비디오 스트림을 이미 획득한 수신 장치들은 포착 GOP 내의 포착(또는 비-포착) 프레임들의 인터-코딩된 부분들을 디코딩하기 위한 목적으로 다른 프레임들(순방향 또는 역방향)에 관련된 정보를 이미 가지고 있다. 그러나, 예를 들어 이전 포착 프레임에서 인트라 코딩된 포착 프레임의 일부를 인터 코딩할 때, 비디오 포착을 허용하기 위해서 각별한 주의가 요구된다.
도5에 제시된 예에서, 포착이 관측 가능한 프레임(506)을 초래하는 프레임(506)에서 완료되면, 인트라 코딩되지 않은 프레임(506)의 부분들은 포착 GOP 내의 인트라 코딩된 부분을 참조하여 인터 코딩되거나, 포착 GOP 내의 인트라 코딩된 부분들의 원점(origin)의 기준 포인트들을 갖는 인터 코딩된 부분들을 참조할 필요가 있다. 다른 방식으로, 관측 가능한 프레임(506)은 6개의 인트라 코딩된 블록들로 구성되고, 인터 코딩된 블록들은 포착 프레임들(501-505)의 인트라 코딩된 블록들로부터 직접 또는 간접적으로 예측될 것이다. 또한, 포착 GOP에 뒤이은 프레임들에서 인터 코딩된 부분들은 포착 GOP 내의 또는 포착 GOP를 뒤따르는 인트라 코딩된 부분들을 참조하거나, 또는 포착 GOP 내의 또는 포착 GOP를 뒤따르는 원점 기준 포인트들을 갖는 인터 코딩된 부분들을 참조할 필요가 있다. 포착 GOP와 관련된 인터 코딩 제한들에 대한 보다 상세한 내용은 아래에서 설명된다.
도6은 포착 GOP 프레임 시퀀스의 일 예이다. 포착 GOP(600)은 3개의 포착 프레임들(601A,601B,601C)을 포함하고, 각 프레임에는 9개의 블록들이 존재한다. 설명을 용이하게 하기 위해서, 도6의 예에서 모든 블록들(602-658)에 대한 프레임들 사이에 아주 작은 양의 움직임만이 존재하였다고 가정한다. 인터 코딩된 블록 및 다른 프레임에서 대응하는 최적 매칭 블록 사이의 움직임 효과는 도7을 참조하여 아래에서 설명될 것이다. 블록들 중 하나의 로우(row)는 포착 GOP(600)의 각 프레임에서 인트라 코딩되고, 프레임(601A)의 로우 1은 인트라 코딩된 블록들(602-606)을 포함하고, 프레임(601B)의 로우 2는 인트라 코딩된 블록들(628-632)을 포함하고, 프레임(601C)의 로우 3은 인트라 코딩된 블록들(654-658)을 포함한다. 포착 장치가 훼손되지않은 전체 프레임에 대한 포착을 완료하기 위해서, 포착 프레임들에서 블록들의 인터 코딩에 대한 수개의 제한들이 따라야만 한다. 제1 로우 블록들(602-606)은 프레임(601A)에서 인트라 코딩되었기 때문에, 뒤이은 프레임들(601B 및 601C)의 제1 로우 블록들(622-626 및 642-646) 각각은 제2 시간에서 그들을 인트라 코딩하지 않기 위해서 인터 코딩될 필요가 있다. 예측 블록(622)은 블록(602)으로부터 순방향 예측되고, 여기서 블록(602)은 포착 프레임(601A)에서 인트라 코딩되었다. 예측 블록(642)은 예측 블록(622)으로부터 순방향 예측되고, 블록(642)은 포착 프레임(601C)에서 모든 다른 인터 코딩된 블록들(644-652) 및 인트라 코딩된 블록들(654-658)과 함께 디스플레이될 수 있다. 블록(642 및 622)들 모두는 제1 포착 프레임(601A)에서 인트라 코딩된 블록(602)에 의존하기 때문에, 이들은 포착 GOP(600)의 모든 프레임들을 수신하는 포착 장치에 의해 디코딩 및 디스플레이될 수 있다. 포착 장치가 포착 GOP(600)의 모든 프레임들을 수신하지 않았다면, 포착 장치는 뒤이은 포착 GOP를 위치를 파악하거나 또는 디코딩을 계속하지만 다음 포착 GOP가 디코딩될 때까지 완전한 포착이 일어나지 않을 수 있다. 포착 GOP 내의 적절한 인터 코딩의 또 다른 예가 제시되고, 여기서 블록(616)은 포착 GOP에 선행하는 프레임으로부터 예측되고, 블록(636)은 블록(616)으로부터 예측된다. 이는 최종 포착 프레임(601C)에서 동일 위치의 블록(656)이 인트라 코딩되고 따라서 포착 완료시에 디스플레이될 수 있기 때문에 수용가능하다.
인터 코딩 제한의 예는 인트라 코딩된 블록(604)을 포함하는, 포착 프레임(601A)에 선행하는 기준 프레임으로부터 블록(624)을 예측하는 것을 방지하는 것이다. 포착 장치는 포착 GOP에 앞서 프레임들을 디코딩하지 않았기 때문에, 블록(624) 또는 블록(644)(블록 644는 블록 624로부터 예측된다고 가정함)을 구성하기 위해서 필요한 최적 매칭 블록을 가지지 않고, 따라서 블록(644)은 포착 프레임(601C)에서 훼손(corrupt)된다. 대신에 블록(624)은 인트라 코딩된 블록(604)으로부터 예측되어야 하고, 블록(644)은 블록(624)(또는 블록 604)으로부터 예측될 수 있다.
인터 코딩 제한의 또 다른 예는 포착 GOP에 선행하는 프레임으로부터 예측되는 블록(608)으로부터 포착 프레임(601C)의 블록(648)을 예측하는 것을 피하는 것이다. 포착 장치는 블록(608)을 디코딩할 수 없기 때문에, 블록(648)을 재구성할 수 없고 최종 포착 프레임은 다시 훼손될 것이다. 블록(648)이 인트라 코딩된 블록(628)으로부터 예측된다면, 적절한 블록(648)이 디코딩되고 포착 프레임(601C)에서 디스플레이될 수 있을 것이다.
일반적으로, 최종 포착 프레임(601C)의 모든 인터 코딩된 블록이 동일 포착 GOP의 또 다른 포착 프레임의 인트라 코딩된 블록으로부터 직접 또는 간접적으로 예측되면, 완전히 포착될 수 있는 프레임이 관측가능하고, 인트라 코딩된 합성물로부터의 예측이 최종 포착 프레임에 존재할 것이라 것에 기반한다.
이전 포착 프레임들에서의 블록들이 이후 포착 프레임들로부터 역방향 예측되면, 완전한 포착 및 관측가능한 프레임은 이전 프레임에서 발생할 수 있지만, 디 코딩 지연이 발생할 것이다. 예를 들어, 블록(634)은 인트라 코딩된 블록(654)으로부터 예측될 수 있고, 블록(614)은 블록(634)으로부터 예측될 수 있다. 블록(608-618)이 모두 이후 포착 프레임들의 인트라 코딩된 블록들로부터 예측되면, 전체 제1 프레임(601A)(인트라 코딩된 블록 602-606을 포함함)은 단지 이후 프레임들에서의 모든 참조된 프레임들을 디코딩한 후에야 디스플레이될 수 있다.
포착이 완료되면(예시적인 포착 GOP(600)에서 제3 및 최종 프레임(601C)에서), 뒤이은 프레임들에서의 인터 코딩된 블록들은 포착 장치에 의해 디코딩되지 않았던 블록들을 여전히 참조해서는 않된다.
설명을 용이하게 하기 위해서, 도6에서 상술한 인터 코딩 방법은 매칭 블록들 및 예측 블록들 사이의 움직임 효과를 고려하지 않았다. 도7은 포착 GOP 프레임 시퀀스의 일 예를 보여준다. 도6과 같이, 예시적인 포착 GOP(700)은 인트라 코딩된 블록들(702-718)을 갖는 3개의 포착 프레임들(701A,701B,701C)을 갖는다. 블록(702,704,706)은 포착 프레임(701A)의 제1 로우를 구성하고, 블록(708,710,712)은 포착 프레임(701B)의 제2 로우를 구성하며, 블록(714,716,718)은 제3 프레임(701C)의 제3 로우를 구성한다. 제2 포착 프레임(701B)의 서브 블록들(722 및 724)로 구성되는 블록과 최적 매칭 블록 사이의 움직임으로 인해, 서브 블록(722 및 724)으로 구성되는 전체 블록은 제1 포착 프레임(701A)의 전체 인트라 코딩된 블록에 의해 매칭되지 않는다. 서브 블록(722)은 인트라 코딩된 블록(702 및 704) 내에 위치하는 서브 블록(726)에 대해 양호하게 매칭되고, 따라서 서브 블록(722)은 서브 블록(726)으로부터 예측된다. 이러한 예에서, 서브 블록(724)과 매칭되는 제1 포착 프레임의 서브 블록(728)은 제2 로우에 위치되고, 인트라 코딩되지 않는다. 비-인트라 코딩 서브 블록(728)으로부터의 서브 블록(724)을 예측하는 것은 포착 장치에서 재건된 블록이 훼손되는 결과를 초래한다. 서브 블록(724)은 대신에 다른 포착 프레임의 다른 인트라 코딩된 부분으로부터 예측되거나, 또는 포착 장치가 이미 디코딩한 인트라 코딩 또는 인터 코딩된 부분에 대한 그 예측 히스토리를 추적할 수 있는 다른 인터 코딩된 부분으로부터 예측되어야 한다. 이러한 예에서, 인트라 코딩된 서브 블록(730)은 서브 블록(724)에 양호하게 매칭되고, 서브 블록(724)은 인트라 코딩된 블록(714 및 716)에 완전히 포함되는 서브 블록(730)으로부터 역방향 예측된다. 어떠한 부분도 서브 블록(724)에 충분하게 매칭된 포착 프레임에서 식별되지 않으면, 서브 블록(724)은 인트라 코딩되어야 한다. 이러한 예는 포착 프레임들에서 인트라 코딩된 부분들의 이웃하는 블록들의 그룹화가 다른 포착 프레임들에 대한 움직임 보상된 예측을 허용하는데 이점이 될 수 있음을 보여준다.
도5-7에서 제시된 포착 GOP는 예를 들어, 비-포착 프레임이 중간에 삽입되지 않는 도3에서 제시된 포착 GOP 또는 포착 프레임들 사이에 비-포착 프레임이 삽입되는 도4에 제시된 포착 GOP를 이용할 수 있다. 비-포착 프레임들은 인터-코딩 및 인트라 코딩된 부분들을 포함할 수 있다. 비-포착 프레임에서 인트라 코딩된 부분들은 포착을 제공할 목적이 아니고 예를 들어, 인터 코딩이 유용하지 않은 에러 전파를 중단시키거나 또는 장면 전환 시나리오를 인에이블링하는 것을 목적으로 인트라 코딩되는 영역들을 포함한다. 포착 프레임들은 또한 포착을 제외한 이유로 인 코딩된 인트라 코딩된 부분들을 포함할 수 있다. 인트라 코딩된 부분들이 포착 프레임들 또는 비-포착 이유로 비 포착 프레임들에 포함되면, 인트라 코딩할 부분들을 선택하는 알고리즘이 이러한 부분들이 포착 GOP에서 2번 이상 인트라 코딩되지 않도록 적응될 수 있다.
도5에 제시된 예는 각 포착 프레임에서 인트라 코딩된 부분들을 위치시키기 위해서 랜덤 방법을 사용하였고, 도6 및 7에 제시된 예는 인트라 코딩된 부분들을 위치시키기 위해서 하나의 로우들을 사용하였다. 당업자는 2 이상의 로우들 또는 하나의 로우의 일부, 또는 하나 이상의 칼럼 또는 하나의 칼럼의 일부, 또는 인접 또는 비 인접 부분들의 임의의 조합을 포함하여 인트라 코딩할 프레임의 부분들을 선택하기 위해 다양한 방법들이 사용될 수 있음을 잘 이해할 것이다. 또한, 예시적으로 선택된 포착 프레임들의 수가 6 및 3이였지만, 임의의 다른 수의 포착 프레임들이 사용될 수 있다. 또한, 비디오 객체(object)가 디스플레이 장치의 전체 디스플레이를 채우는 프레임 대신에서, 비디오 객체는 디스플레이의 일부만을 차지하는 서브-프레임(예를 들면, 화면 분할 디스플레이 또는 윈도우)일 수 있다.
도8은 포착 GOP를 포함하는 인코딩 프로세스의 일 예를 보여주는 흐름도이다. 처리(800)는 도1의 인코더 장치(105)와 같은 비디오 소스 네트워크 장치에 포함된 마이크로프로세서에서 수행될 수 있다. 인코더 장치는 예를 들어, 인터넷 서버, 무선 기지국, 개인 컴퓨터, 및 PDA 또는 이동 전화기와 같은 원격 장치일 수 있다. 압축될 비디오 데이터(810)가 처리를 위해 입력된다. 포착 GOP를 인코딩하기 위한 결정(820)이 예를 들면, 최종 포착 GOP 이래로 경과된 미리 결정된 시간 등과 같은 인자들에 기초하여 결정될 수 있다. 도1의 포착 GOP 컴포넌트(125)와 같은 결정 수단이 결정(820)을 수행한다. 어떠한 포착 GOP도 요구되지 않으면, 인트라 코딩(예를 들면, DCT 또는 DWT를 이용하여) 및 인터 코딩(예를 들어, 순방향 또는 역방향 예측 움직임 보상, 또는 양방향 예측 움직임 보상 코딩을 이용하여)이 단계(870)에서 정상 방식으로 입력 비디오 데이터(810)에 대해 수행된다. 도1의 인트라 인코딩 컴포넌트(115) 및 예측 인코딩 컴포넌트(120)와 같은 인코딩 수단이 단계(870)를 수행한다. 포착 GOP가 인코딩될 예정이면, 단계(830)에서 N개의 포착 프레임들의 인트라 코딩된 부분들에 대한 인코딩 및 단계(840)에서 N개의 포착 프레임들의 인터 코딩된 부분들에 대한 인코딩이 수행된다. 도1의 인트라 인코딩 컴포넌트(115) 및 포착 GOP 컴포넌트(125)와 같은 인코딩 수단이 단계(830)를 수행한다. 포착 GOP 컴포넌트는 완전한 인트라 코딩된 프레임이 단계(830)에서 형성되도록 포착 프레임의 어떤 부분이 인트라 코딩되는지를 결정한다. 도1의 예측 인코딩 컴포넌트(120) 및 예측 GOP 컴포넌트(125)는 인코딩 단계(840)를 수행한다. 포착 GOP 컴포넌트는 상술한 바와 같이 부적절한 인터 코딩에서 비롯되는 훼손이 발생하지 않도록 어떤 프레임들이 단계(840)에서 인터 코딩된 부분들을 예측하는데 사용될 것인지를 결정한다. 포착 프레임들의 인트라 코딩된 부분들 및 인터 코딩된 부분들(기준 프레임들을 포함함)이 상술한 바와 같이 할당 및 인코딩된다. 포착 GOP가 포착 프레임들 사이에 삽입된 비-포착 프레임들을 포함하면, 단계(850)에서 비-포착 프레임들의 인트라 코딩된 부분들 및 인터 코딩된 부분들에 대한 인코딩이 수행된다. 도1의 인트라 인코딩 컴포넌트(115) 및 예측 인코딩 컴포넌트(120)가 단계(850)를 수행한다. 인코딩 단계(830,840,850, 및 870)에 의해 출력된 인코딩된 비디오 데이터는 오버헤드 정보를 포함할 수 있다. 오버헤드 정보는 예를 들어, 매크로블록(또는 서브 매크로블록)이 인트라 코딩 또는 인터 코딩되었음을 식별하고, 인터 코딩된 부분들이 어떤 프레임을 참조하였는지를 식별하는 매크로 블록 맵과 같이, 인트라 코딩 및 인터 코딩 부분들에 대한 맵을 포함할 수 있다. 단계(860)에서, 인코딩된 비디오 데이터는 차후 사용을 위해 메모리 모듈에 저장될 수 있고, 또는 네트워크를 통해 하나 이상의 수신 장치들로 전송될 수 있다. 도1의 메모리 컴포넌트(130)와 같은 저장 수단은 단계(860)의 저장 부분들을 수행한다. 도1의 통신 컴포넌트(175) 및 네트워크(140)와 같은 전송 수단이 단계(860)의 전송 부분을 수행한다. 단계(820-870)들은 비디오 데이터가 소진될 때까지 반복될 수 있다.
도9는 포착 GOP를 포함하는 디코딩 처리의 일 예를 보여주는 흐름도이다. 처리(900)는 도1의 디코더 장치(110)와 같은 전자 장치에 의해 수행된다. 처리(900)는 예를 들어, 개인 컴퓨터, 디지털 텔레비젼, 또는 텔레비젼에 연결된 셋톱 박스(예를 들면, 케이블 또는 위성)와 같은 비디오 디스플레이 장치에 연결된 주변 장치에 포함되거나, 비디오 디스플레이 장치에 포함되는 마이크로 프로세서상에서 수행될 수 있다. 프로세서(900)는 또한 예를 들어, PDA 또는 이동 전화기와 같은 원격 장치상에서 수행될 수 있다. 디코더 장치는 프로세서(800)를 사용하여 도1의 인코더 장치(105)와 같은 장치에 의해 인코딩된 비디오 데이터(910)를 수신한다. 인코딩된 비디오 데이터(910)는 도1의 통신 컴포넌트(180) 및 네트워크(140)와 같은 수신 수단을 통해 수신될 수 있다. 수신 수단은 또한 인코딩된 데이터가 저장 되고 차후에 복원될 수 있는, 도1의 저장 컴포넌트 및 메모리 컴포넌트(160)를 포함한다.
단계(920)에서 포착 GOP 컴포넌트에 의해 결정되는 바와 같이, 비디오 포착이 이미 수행되었기 때문에 비디오 포착이 불필요하면, 비디오 프레임의 디코딩은 단계(970)에서 정상적인 방식으로 처리된다. 도1의 디코딩 컴포넌트(145) 및 예측 디코딩 컴포넌트(150)와 같은 디코딩 수단이 단계(970)를 수행한다. 단계(920)에서 예를 들어, 이동 장치가 턴온되거나 또는 사용자각 채널을 전환하는 것과 같이, 비디오 포착이 필요함을 디코더가 결정하면, 디코더는 단계(925)에서 포착 GOP의 위치를 파악한다. 포착 GOP의 위치를 파악하는 것은 인코딩된 식별자 비트 스트링 또는 플래그에 대한 비트 스트림을 검색하는 것을 포함할 수 있다. 미리 결정된 인터벌에서 위치하는 포착 GOP를 포함하는 이전 장치가 사용되는 경우, 디코더는 미리 결정된 시간 포인트에서 또는 그 근방에서 비트 스트림을 검색할 수 있다. 랜덤 액세스 포인트들은 포착 GOP의 위치를 파악하기 위해 이용될 수 있다. 랜덤 액세스 비트 스트링 또는 플래그는 예를 들면, 전달 계층, 동기 계층, 또는 네트워크 요약 계층과 같은 스트림 내의 다양한 위치들에서 마킹될 수 있다. 랜덤 액세스 포착 GOP의 위치를 파악하는 것은 랜덤 액세스 플래그 또는 비트 스트림이 위치될 수 있는 계층 또는 계층들에서 스트림을 검색하는 것을 포함한다. 일단 포착 GOP의 위치가 파악되면, 포착 GOP 내의 포착 프레임들 및/또는 비-포착 프레임들에 포함된 인트라 코딩된 부분들 및 인터 코딩된 부분들의 위치를 파악하는 것은 예를 들어, 상술한 매크로 블록 맵과 같이 인트라 코딩 및 인터 코딩된 부분들의 맵을 포함하는 오버헤드 정보를 이용함으로써 달성될 수 있다. 도1의 포착 GOP 컴포넌트(155)와 같은 위치 수단이 위치 파악 단계(925)를 수행한다.
포착 GOP의 시작부 위치를 파악한 후에, 디코더는 단계(930)에서 N개의 포착 프레임들의 인트라 코딩된 부분들을 디코딩할 수 있다. 도1의 디코딩 컴포넌트(145)와 같은 디코딩 수단이 단계(930)를 수행한다. 인트라 코딩된 부분들이 일단 디코딩되면, 이들은 메모리에 저장되고 그들을 참조하는 임의의 인터 코딩된 부분들(940)을 디코딩하는데 사용될 수 있다. 대응되는 부분들이 아직 디코딩되지 않은 프레임들을 참조하는 인터 코딩된 부분들은 디코딩되지 않는데, 왜냐하면 이들을 적절히 디코딩하는데 필요한 정보가 빠져있기 때문이다. 도1의 예측 디코딩 컴포넌트(150)와 같은 디코딩 수단이 단계(940)를 수행한다. 디코더는 단계(950)에서 포착 GOP 내에 위치하는 비-포착 프레임들을 디코딩할지 또는 디코딩하지 않을지를 선택할 수 있다. 비디오 포착을 달성하는데 필요한 모든 정보는 포착 프레임 내에 있기 때문에, 비-포착 프레임들은 포착을 위해 요구되지 않는다. 다른 한편으로, 비-포착 프레임들 내의 정보의 결과로서 인헨스드 사전-최종-포착 비디오를 가질 수 있으면, 디코더는 비-포착 프레임들 내의 인트라 코딩된 부분들 및 이미 디코딩된 부분들을 참조하는 비-포착 프레임들의 인터-코딩된 부분들을 디코딩할 수 있다. 도1의 인트라 디코딩 컴포넌트(145) 및 예측 디코딩 컴포넌트(150)와 같은 디코딩 수단이 단계(950)를 수행한다. N개의 포착 프레임들의 인트라 코딩된 부분들로부터 예측된 인트라 코딩된 부분들 및 인터 코딩된 부분들이 디코딩된 후에, 디코딩된 정보는 단계(960)에서 결합되어 완전히 관측가능한 프레임을 형성하고, 비디오 포착이 완료된다. 도1의 포착 GOP 컴포넌트(155)와 같은 결합 수단이 단계(960)를 수행한다. 디코딩된 비디오 정보는 차후 사용을 위해 단계(980)에서 메모리에 저장되거나 디스플레이된다. 도1의 외부 저장 컴포넌트(165) 또는 메모리 컴포넌트(160)와 같은 저장 수단이 단계(980)의 저장 부분을 수행한다. 비디오는 디코딩되면서 디스플레이될 수 있고, 또는 전체 관측가능한 프레임이 결합되면 디스플레이될 수 있다. 도1의 디스플레이 컴포넌트(170)와 같은 디스플레이 수단이 단계(980)를 수행한다. 비디오 포착이 완료된 후에, 잔존하는 인코딩된 비디오 데이터는 단계(970)에서 정상적인 방식으로 디코딩된다. 처리(900)는 비디오 포착동안 효율적인 디코딩을 가능케 하는 일 예이다. 그러나, 디코더는 단계(970)에서 정상적인 방식으로 단순히 디코딩함으로써 포착 GOP 데이터를 포함하여, 모든 인코딩된 비디오 데이터(910)를 디코딩할 수 있다. 포착 GOP는 여전히 랜덤 액세스 포인트를 제공하지만, 디코더는 인터 코딩된 부분들을 디코딩할 수 없고, 따라서 포착 GOP의 인트라 코딩된 부분들이 디코딩될 때까지 단계(980)에서 적절한 픽쳐를 디스플레이할 수 없다.
상술한 방법들은 유선 또는 무선을 포함하여 임의의 네트워크에서 사용될 수 있다. 예를 들어, 무선 LAN(로컬 영역 네트워크), 무선 WAN(광역 네트워크), 또는 셀룰러 네트워크와 같이 데이터 에러율이 높은 네트워크가 포착 GOP의 사용을 통해 이득을 볼 수 있다. 포착 GOP는 다중 채널 비디오 전달 시스템에서 채널 스위칭에서 유용한 랜덤 액세스 포인트를 제공하는 I-프레임에 대한 대안적인 저 비트율 방식을 제공한다. 포착 GOP는 에러 전파 및 드리프트 에러를 방지할 수 있는데, 왜 냐하면 인트라 코딩된 부분의 도입이 디코딩을 위한 새로운 시작 포인트를 형성하기 때문이며, 이는 인코딩된 포착 프레임들 중 하나에 포함된 인트라 코딩된 부분들 중 하나와 동일한 부분에 위치하는 어떠한 인터 코딩된 부분도 그 부분의 인트라 코딩에 기초가 되는 인코딩된 포착 프레임에 앞서 발생하는 프레임을 참조하지 않기 때문이다.
여기서 제시된 방법, 장치, 및 시스템의 양상들은 아래에 제시되지만, 본 발명이 이들로 제한되는 것은 아니다.
멀티미디어 프레임들을 인코딩하는 방법으로서, 관측가능한(viewable) 프레임들을 포함하는 포착(acquisition) 프레임들 세트를 인코딩하는 단계를 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는(positioning) 것을 포함하며, 인터 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 인터 코딩된 부분들을 예측하는 것을 포함하는 멀티미디어 프레임 인코딩 방법.
멀티미디어 프레임을 인코딩하는 장치로서, 관측 가능한 프레임을 포함하는 포착 프레임들 세트를 인코딩하는 수단을 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인 트라 코딩된 부분들을 인코딩하는 수단은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는 수단을 포함하며, 인터 코딩된 부분들을 인코딩하는 수단은 관측 가능한 프레임이 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 구성되도록 인터 코딩된 부분들을 예측하는 수단을 포함하는 멀티미디어 프레임 인코딩 장치.
멀티미디어 프레임을 디코딩하는 전자 장치로서, 상기 전자 장치는 관측 가능한 프레임을 포함하는 포착 프레임들 세트를 인코딩하도록 구성되며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 상기 전자 장치는 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키며, 그리고, 관측 가능한 프레임이 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 구성되도록 인터 코딩된 부분들을 예측하는 것을 특징으로 하는 멀티미디어 프레임 인코딩용 전자 장치.
컴퓨터가 멀티미디어 프레임들을 인코딩하는 방법을 실행하도록 하는 지령들을 저장하는 컴퓨터 판독가능한 기록 매체로서, 상기 방법은 관측가능한(viewable) 프레임들을 포함하는 포착(acquisition) 프레임들 세트를 인코딩하는 단계를 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는(positioning) 것을 포함하며, 인터 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 인터 코딩된 부분들을 예측하는 것을 포함하는 컴퓨터 판독가능한 기록 매체.
멀티 미디어 프레임들을 디코딩하는 방법으로서, 관측가능한 프레임을 포함하는 포착 프레임들 세트를 나타내는 데이터를 수신하는 단계로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 단계; 포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 단계; 및 관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 단계를 포함하는 멀티미디어 프레임 디코딩 방법.
멀티 미디어 프레임들을 디코딩하는 장치로서, 관측가능한 프레임을 포함하는 포착 프레임들 세트를 나타내는 데이터를 수신하는 수단으로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 수단; 포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 수단; 및 관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 수단을 포함하는 멀티미디어 프레임 디코딩 장치.
멀티 미디어 프레임들을 디코딩하는 전자 장치로서, 상기 전자 장치는 관측가능한 프레임을 포함하는 포착 프레임들 세트를 나타내는 데이터를 수신하도록 구성되며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되며, 또한 상기 전자 장치는 포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하며, 관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하도록 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
컴퓨터가 멀티미디어 프레임들을 디코딩하기 위한 방법을 실행하도록 하는 지령들을 저장하는 컴퓨터 판독가능한 기록 매체로서, 상기 방법은 관측가능한 프 레임을 포함하는 포착 프레임들 세트를 나타내는 데이터를 수신하는 단계로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 단계; 포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 단계; 및 관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 단계를 포함하는 컴퓨터 판독가능한 기록 매체.
당업자는 정보 및 신호들이 다양한 타입의 상이한 기술들을 사용하여 표현될 수 있음을 잘 이해할 것이다. 예를 들어, 본 명세서상에 제시된 데이터, 지령, 명령, 정보, 신호, 비트, 심벌, 및 칩은 전압, 전류, 전자기파, 자기장 또는 입자, 광 필드 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
당업자는 상술한 다양한 예시적인 논리블록, 모듈, 회로, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이들의 조합으로서 구현될 수 있음을 잘 이해할 것이다. 하드웨어 및 소프트웨어의 상호 호환성을 명확히 하기 위해, 다양한 예시적인 소자들, 블록, 모둘, 회로, 및 단계들이 그들의 기능적 관점에서 기술되었다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지는 특정 애플리케이션 및 전체 시스템에 대해 부가된 설계 제한들에 의존한다. 당업자는 이러한 기능들을 각각의 특정 애플리케이션에 대해 다양한 방식으 로 구현할 수 있지만, 이러한 구현 결정이 본 발명의 영역을 벗어나는 것은 아니다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
상술한 방법의 단계들 및 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈들은 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(EEPROM); 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM); 또는 공지된 저장 매체의 임의의 형태로서 존재한다. 예시적인 저장매체는 프로세서와 결합되어, 프로세서는 저장매체로부터 정보를 판독하여 저장매체에 정보를 기록한다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다. 이러한 프로세서 및 저장매체는 ASIC 에 위치한다. ASIC 는 사용자 단말에 위치할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트로서 존재할 수 있다.
상술한 실시예들은 당업자가 본원발명을 보다 용이하게 실시할 수 있도록 하기 위해 기술되었다. 한편, 당업자는 본 발명의 다양한 변형이 가능함을 잘 이해할 수 있을 것이다.
따라서, 시간적으로 예측된 프레임들 내에서 인트라 코딩된 부분들을 사용하여 비-인트라 코딩된 프레임들로부터 비디오 스트림의 랜덤 액세스를 인에이블하는 방법 및 시스템이 설명되었다.
다양한 예시적인 논리 블록들, 모듈들, 및 회로들이 범용 프로세서; 디지털 신호 처리기, DSP; 주문형 집적회로, ASIC; 필드 프로그램어블 게이트 어레이, FPGA; 또는 다른 프로그램어블 논리 장치; 이산 게이트 또는 트랜지스터 논리; 이산 하드웨어 컴포넌트들; 또는 이러한 기능들을 구현하도록 설계된 것들의 조합을 통해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서 일 수 있지만; 대안적 실시예에서, 이러한 프로세서는 기존 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 예를 들어, DSP 및 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로 프로세서, 또는 이러한 구성들의 조합과 같이 계산 장치들의 조합으로서 구현될 수 있다.
상술한 방법의 단계들 및 알고리즘은 하드웨어에서, 프로세서에 의해 실행되는 소프트웨어 모듈에서, 또는 이들의 조합에 의해 직접 구현될 수 있다. 소프트웨어 모듈들은 랜덤 액세스 메모리(RAM); 플래쉬 메모리; 판독 전용 메모리(ROM); 전기적 프로그램어블 ROM(EPROM); 전기적 삭제가능한 프로그램어블 ROM(EEPROM); 레지스터; 하드디스크; 휴대용 디스크; 콤팩트 디스크 ROM(CD-ROM); 또는 공지된 저장 매체의 임의의 형태로서 존재한다. 예시적인 저장매체는 프로세서와 결합되어, 프로세서는 저장매체로부터 정보를 판독하여 저장매체에 정보를 기록한다. 대안적으로, 저장 매체는 프로세서의 구성요소일 수 있다. 이러한 프로세서 및 저장매체는 ASIC 에 위치한다. ASIC 는 사용자 단말에 위치할 수 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 이산 컴포넌트로서 존재할 수 있다.
상술한 실시예들은 당업자가 본원발명을 보다 용이하게 실시할 수 있도록 하기 위해 기술되었다. 이러한 실시예들에 대한 다양한 변형들을 당업자는 잘 이해할 수 있을 것이며, 여기서 정의된 원리들은 본 발명의 영역을 벗어남이 없이, 다른 실시예들, 예를 들면 인스턴트 메세징 서비스 또는 다른 임의의 무선 데이터 통신 애플리케이션에 적용될 수 있다. 따라서, 본 발명은 여기서 제시된 실시예들로 제한되지 않으며, 여기서 제시된 사상을 따르는 다른 실시예들 포함한다. 여기서 사용되는 "예시적인" 및 "실시예"와 같은 용어들은 이해를 돕기 위해 단지 예시적으로 제시된 것일 뿐이다. 따라서, "예시적인" 및 "실시예"는 다른 실시예들에 비해 선호되는 또는 바람직한 것으로 해석될 필요는 없다.

Claims (46)

  1. 멀티미디어 프레임들을 인코딩하는 방법으로서,
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 제공하는 단계; 및
    관측가능한(viewable) 프레임을 포함하는 상기 포착 프레임들 세트를 인코딩하는 단계를 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며,
    인트라 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는(positioning) 것을 포함하며,
    인터 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 인터 코딩된 부분들을 예측하는 것을 포함하는 멀티미디어 프레임 인코딩 방법.
  2. 제1항에 있어서,
    순방향 예측, 역방향 예측, 양방향 예측으로 구성되는 그룹으로부터 선택된 예측 방법을 사용하여 포착 프레임들 세트의 인터 코딩된 부분들을 예측하는 단계를 더 포함하는 멀티미디어 프레임 인코딩 방법.
  3. 제1항에 있어서,
    네트워크상에서 인코딩된 포착 프레임들 세트를 전송하는 단계를 더 포함하는 멀티미디어 프레임 인코딩 방법.
  4. 제1항에 있어서,
    무선 네트워크상에서 인코딩된 포착 프레임들 세트를 전송하는 단계를 더 포함하는 멀티미디어 프레임 인코딩 방법.
  5. 제3항에 있어서,
    전송된 포착 프레임들 세트를 수신하는 단계;
    포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 단계;
    관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 단계;
    관측 가능한 프레임의 디코딩된 인터 코딩된 부분들 및 디코딩된 인트라 코딩된 부분들을 결합하는 단계; 및
    관측 가능한 프레임을 디스플레이하는 단계를 더 포함하는 멀티미디어 프레임 인코딩 방법.
  6. 제1항에 있어서,
    인코딩된 포착 프레임들 사이에 삽입된(interspersed) 하나 이상의 비-포착 프레임들을 인코딩하는 단계를 더 포함하며, 여기서 비-포착 프레임들은 관측 가능한 프레임을 디코딩하는데 필요한 인트라 코딩 또는 인터 코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 인코딩 방법.
  7. 제1항에 있어서,
    미리 결정된 시간 인터벌에서 포착 프레임들 세트를 인코딩하는 단계를 더 포함하는 멀티미디어 프레임 인코딩 방법.
  8. 멀티미디어 프레임들을 인코딩하는 장치로서,
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 제공하는 수단; 및
    관측 가능한 프레임을 포함하는 상기 포착 프레임들 세트를 인코딩하는 수단을 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며,
    인트라 코딩된 부분들을 인코딩하는 수단은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는 수단을 포함하며,
    인터 코딩된 부분들을 인코딩하는 수단은 관측 가능한 프레임이 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 구성되도록 인터 코딩된 부분들을 예측하는 수단을 포함하는 멀티미디어 프레임 인코딩 장치.
  9. 제8항에 있어서,
    순방향 예측, 역방향 예측, 및 양방향 예측으로 구성되는 그룹으로부터 선택 된 예측 방법을 사용하여 포착 프레임들 세트의 인터 코딩된 부분들을 예측하는 수단을 더 포함하는 멀티미디어 프레임 인코딩 장치.
  10. 제8항에 있어서,
    네트워크상에서 인코딩된 포착 프레임들 세트를 전송하는 수단을 더 포함하는 멀티미디어 프레임 인코딩 장치.
  11. 제8항에 있어서,
    무선 네트워크상에서 인코딩된 포착 프레임들 세트를 전송하는 수단을 더 포함하는 멀티미디어 프레임 인코딩 장치.
  12. 제8항에 있어서,
    인코딩된 포착 프레임들 사이에 삽입된 하나 이상의 비-포착 프레임들을 인코딩하는 수단을 더 포함하며, 여기서 비-포착 프레임은 관측 가능한 프레임을 디코딩하는데 필요한 인터-코딩 또는 인트라-코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 인코딩 장치.
  13. 제8항에 있어서,
    미리 결정된 시간 인터벌에서 포착 프레임들 세트를 인코딩하는 수단을 더 포함하는 멀티미디어 프레임 인코딩 장치.
  14. 멀티미디어 프레임들을 인코딩하는 전자 장치로서,
    상기 전자 장치는 포착(acquisition) 프레임들 세트를 식별하는 식별자를 제공하고, 관측 가능한 프레임을 포함하는 상기 포착 프레임들 세트를 인코딩하도록 구성되며,
    여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며,
    상기 전자 장치는 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키며,
    그리고, 관측 가능한 프레임이 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 구성되도록 인터 코딩된 부분들을 예측하도록 구성되는 것을 특징으로 하는 멀티미디어 프레임 인코딩용 전자 장치.
  15. 제14항에 있어서,
    상기 전자 장치는 순방향 예측, 역방향 예측, 및 양방향 예측으로 구성되는 그룹으로부터 선택된 예측 방법을 사용하여 포착 프레임들 세트의 인터 코딩된 부분들을 예측하도록 구성되는 멀티미디어 프레임 인코딩용 전자 장치.
  16. 제14항에 있어서,
    상기 전자 장치는 네트워크상에서 인코딩된 포착 프레임들 세트를 전송하도 록 구성되는 멀티미디어 프레임 인코딩용 전자 장치.
  17. 제14항에 있어서,
    상기 전자 장치는 무선 네트워크상에서 인코딩된 포착 프레임들 세트를 전송하도록 구성되는 멀티미디어 프레임 인코딩용 전자 장치.
  18. 제14항에 있어서,
    상기 전자 장치는 인코딩된 포착 프레임들 사이에 삽입된 하나 이상의 비-포착 프레임들을 인코딩하도록 구성되며, 여기서 비-포착 프레임은 관측 프레임을 디코딩하는데 필요한 인터-코딩 또는 인트라-코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 인코딩용 전자 장치.
  19. 제14항에 있어서,
    상기 전자 장치는 미리 결정된 시간 인터벌에서 포착 프레임들 세트를 인코딩하도록 구성되는 멀티미디어 프레임 인코딩용 전자 장치.
  20. 컴퓨터가 멀티미디어 프레임들을 인코딩하는 방법을 실행하도록 하는 지령들을 저장하는 컴퓨터 판독가능한 기록 매체로서, 상기 방법은
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 제공하는 단계; 및
    관측가능한(viewable) 프레임들을 포함하는 상기 포착 프레임들 세트를 인코딩하는 단계를 포함하며, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며,
    인트라 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 인트라 코딩된 부분들을 위치시키는(positioning) 것을 포함하며,
    인터 코딩된 부분들을 인코딩하는 동작은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 인터 코딩된 부분들을 예측하는 것을 포함하는 컴퓨터 판독가능한 기록 매체.
  21. 멀티 미디어 프레임들을 디코딩하는 방법으로서,
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 수신하는 단계; 및
    관측가능한 프레임을 포함하는 상기 포착 프레임들 세트를 나타내는 데이터를 수신하는 단계로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 단계;
    포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 단계; 및
    관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 단계를 포함하는 멀티미디어 프레임 디코딩 방법.
  22. 제21항에 있어서,
    관측 가능한 프레임의 디코딩된 인트라 코딩된 부분들 및 관측 가능한 프레임의 디코딩된 인터 코딩된 부분들을 결합하는 단계를 더 포함하는 멀티미디어 프레임 디코딩 방법.
  23. 제21항에 있어서,
    무선 네트워크상에서 포착 프레임들 세트를 나타내는 데이터를 수신하는 단계를 더 포함하는 멀티미디어 프레임 디코딩 방법.
  24. 제21항에 있어서,
    수신된 포착 프레임들 세트 사이에 삽입되는 하나 이상의 비-포착 프레임들을 나타내는 데이터를 수신하는 단계를 더 포함하며, 여기서 비-포착 프레임들은 관측 가능한 프레임을 디코딩하는데 필요한 인터 코딩된 부분들 및 인트라 코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 디코딩 방법.
  25. 제21항에 있어서,
    미리 결정된 시간 인터벌에서 포착 프레임들 세트의 위치를 파악하는(locate) 단계를 더 포함하는 멀티미디어 프레임 디코딩 방법.
  26. 제22항에 있어서,
    결합된 관측 가능한 프레임을 디스플레이하는 단계를 더 포함하는 멀티미디어 프레임 디코딩 방법.
  27. 제22항에 있어서,
    결합된 관측 가능한 프레임을 저장하는 단계를 더 포함하는 멀티미디어 프레임 디코딩 방법.
  28. 멀티 미디어 프레임들을 디코딩하는 장치로서,
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 수신하는 수단; 및
    관측가능한 프레임을 포함하는 상기 포착 프레임들 세트를 나타내는 데이터를 수신하는 수단으로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 수단;
    포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 수단; 및
    관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 수단을 포함하는 멀티미디어 프레임 디코딩 장치.
  29. 제28항에 있어서,
    관측 가능한 프레임의 디코딩된 인트라 코딩된 부분들 및 관측 가능한 프레임의 디코딩된 인터 코딩된 부분들을 결합하는 수단을 더 포함하는 멀티미디어 프레임 디코딩 장치.
  30. 제28항에 있어서,
    무선 네트워크상에서 포착 프레임들 세트를 나타내는 데이터를 수신하는 수단을 더 포함하는 멀티미디어 프레임 디코딩 장치.
  31. 제28항에 있어서,
    수신된 포착 프레임들 세트 사이에 삽입되는 하나 이상의 비-포착 프레임들을 나타내는 데이터를 수신하는 수단을 더 포함하며, 여기서 비-포착 프레임들은 관측 가능한 프레임을 디코딩하는데 필요한 인터 코딩된 부분들 또는 인트라 코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 디코딩 장치.
  32. 제28항에 있어서,
    미리 결정된 시간 인터벌에서 포착 프레임들 세트의 위치를 파악하는 수단을 더 포함하는 멀티미디어 프레임 디코딩 장치.
  33. 제29항에 있어서,
    결합된 관측 가능한 프레임을 디스플레이하는 수단을 더 포함하는 멀티미디어 프레임 디코딩 장치.
  34. 제29항에 있어서,
    결합된 관측 가능한 프레임을 저장하는 수단을 더 포함하는 멀티미디어 프레임 디코딩 장치.
  35. 멀티 미디어 프레임들을 디코딩하는 전자 장치로서,
    상기 전자 장치는 포착(acquisition) 프레임들 세트를 식별하는 식별자를 수신하고, 관측가능한 프레임을 포함하는 상기포착 프레임들 세트를 나타내는 데이터를 수신하도록 구성되며,
    여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되며,
    또한 상기 전자 장치는 포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하며, 관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하도록 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  36. 제35항에 있어서,
    상기 전자 장치는 관측 가능한 프레임의 디코딩된 인트라 코딩된 부분들 및 관측 가능한 프레임의 디코딩된 인터 코딩된 부분들을 결합하도록 더 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  37. 제35항에 있어서,
    상기 전자 장치는 무선 네트워크상에서 포착 프레임들 세트를 나타내는 데이터를 수신하도록 더 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  38. 제35항에 있어서,
    상기 전자 장치는 수신된 포착 프레임들 세트 사이에 삽입되는 하나 이상의 비-포착 프레임들을 나타내는 데이터를 수신하도록 더 구성되며, 여기서 비-포착 프레임들은 관측 가능한 프레임을 디코딩하는데 필요한 인터 코딩된 부분들 또는 인트라 코딩된 부분들을 전혀 포함하지 않는 멀티미디어 프레임 디코딩용 전자 장치.
  39. 제35항에 있어서,
    상기 전자 장치는 미리 결정된 시간 인터벌에서 포착 프레임들 세트의 위치를 파악하도록 더 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  40. 제36항에 있어서,
    상기 전자 장치는 결합된 관측 가능한 프레임을 디스플레이하도록 더 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  41. 제36항에 있어서,
    상기 전자 장치는 결합된 관측 가능한 프레임을 저장하도록 더 구성되는 멀티미디어 프레임 디코딩용 전자 장치.
  42. 컴퓨터가 멀티미디어 프레임들을 디코딩하기 위한 방법을 실행하도록 하는 지령들을 저장하는 컴퓨터 판독가능한 기록 매체로서, 상기 방법은
    포착(acquisition) 프레임들 세트를 식별하는 식별자를 수신하는 단계; 및
    관측가능한 프레임을 포함하는 상기 포착 프레임들 세트를 나타내는 데이터를 수신하는 단계로서, 여기서 각각의 프레임은 하나 이상의 인트라 코딩된 부분들 및 하나 이상의 인터 코딩된 부분들을 포함하며, 인트라 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들이 결합될 때, 완전한 인트라 코딩된 합성(composite) 프레임이 형성되도록 위치설정되며, 인터 코딩된 부분들은 포착 프레임들 세트의 인트라 코딩된 부분들로부터 직접 또는 간접적으로 예측되는 인터 코딩된 부분들 및 인트라 코딩된 부분들로 관측가능한 프레임이 구성되도록 예측되는 수신 단계;
    포착 프레임들 세트의 인트라 코딩된 부분들을 디코딩하는 단계; 및
    관측 가능한 프레임의 인터 코딩된 부분들을 디코딩하는 단계를 포함하는 컴퓨터 판독가능한 기록 매체.
  43. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 전자 장치는 무선 통신 장치를 포함하는, 멀티미디어 프레임 인코딩용 전자 장치.
  44. 제14항 내지 제19항 중 어느 한 항에 있어서,
    상기 전자 장치는 하나 이상의 집적회로를 포함하는, 멀티미디어 프레임 인코딩용 전자 장치.
  45. 제35항 내지 제41항 중 어느 한 항에 있어서,
    상기 전자 장치는 무선 통신 장치를 포함하는, 멀티미디어 프레임 디코딩용 전자 장치.
  46. 제35항 내지 제41항 중 어느 한 항에 있어서,
    상기 전자 장치는 하나 이상의 집적회로를 포함하는, 멀티미디어 프레임 디코딩용 전자 장치.
KR1020067025388A 2004-05-04 2005-05-04 스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치 KR100977490B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56832904P 2004-05-04 2004-05-04
US60/568,329 2004-05-04

Publications (2)

Publication Number Publication Date
KR20070007382A KR20070007382A (ko) 2007-01-15
KR100977490B1 true KR100977490B1 (ko) 2010-08-23

Family

ID=34968876

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025388A KR100977490B1 (ko) 2004-05-04 2005-05-04 스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치

Country Status (9)

Country Link
US (1) US7991053B2 (ko)
EP (1) EP1747680A1 (ko)
JP (1) JP5006189B2 (ko)
KR (1) KR100977490B1 (ko)
CN (1) CN1981537B (ko)
AR (1) AR048730A1 (ko)
CA (1) CA2565791A1 (ko)
TW (1) TW200607352A (ko)
WO (1) WO2005109900A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
AR052601A1 (es) 2005-03-10 2007-03-21 Qualcomm Inc Clasificacion de contenido para procesamiento de multimedia
US8879857B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US8233535B2 (en) * 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US8155185B2 (en) * 2005-12-05 2012-04-10 Canon Kabushiki Kaisha Image coding apparatus and method
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
US20090185550A1 (en) * 2006-05-29 2009-07-23 Panasonic Corporation Radio base station apparatus
JP5248802B2 (ja) * 2006-06-16 2013-07-31 カシオ計算機株式会社 動画符号化装置および動画符号化方法と、動画復号化装置および動画復号化方法と、動画記録装置
US20080092203A1 (en) * 2006-10-13 2008-04-17 Nokia Corporation Approach for channel switch time reduction in IPDC over DVB-H
KR101375669B1 (ko) * 2006-11-07 2014-03-19 삼성전자주식회사 인터 예측 부호화, 복호화 방법 및 장치
US8311111B2 (en) * 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
US8711933B2 (en) * 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
JP6045222B2 (ja) * 2012-06-28 2016-12-14 株式会社Nttドコモ 動画像予測復号装置、方法及びプログラム
KR20140110221A (ko) * 2013-03-06 2014-09-17 삼성전자주식회사 비디오 인코더, 장면 전환 검출 방법 및 비디오 인코더의 제어 방법
US11425395B2 (en) 2013-08-20 2022-08-23 Google Llc Encoding and decoding using tiling
US9667982B2 (en) * 2013-10-02 2017-05-30 Netapp, Inc. Techniques for transform based transcoding
US11228764B2 (en) * 2014-01-15 2022-01-18 Avigilon Corporation Streaming multiple encodings encoded using different encoding parameters
US9787986B2 (en) * 2014-06-30 2017-10-10 Intel Corporation Techniques for parallel video transcoding
US9386317B2 (en) 2014-09-22 2016-07-05 Sony Interactive Entertainment Inc. Adaptive picture section encoding mode decision control
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US20170013274A1 (en) * 2015-07-09 2017-01-12 Microsoft Technology Licensing, Llc Intra-refresh for video streaming
US10003811B2 (en) 2015-09-01 2018-06-19 Microsoft Technology Licensing, Llc Parallel processing of a video frame
TWI546779B (zh) 2015-11-06 2016-08-21 財團法人工業技術研究院 串流資料的編碼排程方法、裝置與電腦可讀取媒體
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US10440366B2 (en) 2016-07-01 2019-10-08 Intel Corporation Method and system of video coding using content based metadata
US10666946B2 (en) 2016-07-01 2020-05-26 Intel Corporation Method and system of video coding using display modification input
KR102077214B1 (ko) 2016-12-15 2020-02-14 경희대학교 산학협력단 데스크톱 스크린을 비중첩 동일 크기 블록으로 분할하기 위한 동적 분할 알고리즘

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485798A2 (en) * 1990-11-16 1992-05-20 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images
EP1263238A2 (en) * 2001-05-29 2002-12-04 Broadcom Corporation Artifact-free displaying of MPEG-2 video in the progressive-refresh mode

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
DE69536096D1 (de) * 1994-03-25 2010-09-30 Nec Corp Bildwiedergabevorrichtung
US7046910B2 (en) * 1998-11-20 2006-05-16 General Instrument Corporation Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance
FI114679B (fi) 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP2003333600A (ja) * 2002-05-09 2003-11-21 Matsushita Electric Ind Co Ltd 画像符号化方法および画像復号方法
JP2004048522A (ja) * 2002-07-15 2004-02-12 Hitachi Ltd 動画像の符号化方法及び復号化方法
US7949047B2 (en) 2003-03-17 2011-05-24 Qualcomm Incorporated System and method for partial intraframe encoding for wireless multimedia transmission
US8731054B2 (en) 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US7830833B2 (en) 2004-05-04 2010-11-09 Qualcomm Incorporated Method and apparatus for ranking of media services and program packages
US7555012B2 (en) 2004-05-04 2009-06-30 Qualcomm Incorporated Method and apparatus for programming blackout and retune
US8819711B2 (en) 2004-05-04 2014-08-26 Qualcomm Incorporated Hierarchical program packages for user terminal subscribable services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0485798A2 (en) * 1990-11-16 1992-05-20 General Instrument Corporation Method and apparatus for refreshing motion compensated sequential video images
JPH04286489A (ja) * 1990-11-16 1992-10-12 General Instr Corp 動作補償を伴った連続ビデオ影像をリフレッシュする方法とその装置
EP1263238A2 (en) * 2001-05-29 2002-12-04 Broadcom Corporation Artifact-free displaying of MPEG-2 video in the progressive-refresh mode

Also Published As

Publication number Publication date
CN1981537B (zh) 2011-03-09
JP2007536821A (ja) 2007-12-13
WO2005109900A1 (en) 2005-11-17
CN1981537A (zh) 2007-06-13
CA2565791A1 (en) 2005-11-17
TW200607352A (en) 2006-02-16
KR20070007382A (ko) 2007-01-15
EP1747680A1 (en) 2007-01-31
JP5006189B2 (ja) 2012-08-22
US20050265461A1 (en) 2005-12-01
US7991053B2 (en) 2011-08-02
AR048730A1 (es) 2006-05-17

Similar Documents

Publication Publication Date Title
KR100977490B1 (ko) 스트리밍 애플리케이션들에서 미디어 포착을 인에이블하는방법 및 장치
KR100977691B1 (ko) 점진적인 채널 전환을 위한 방법 및 장치
US8320464B2 (en) Method and apparatus to construct bi-directional predicted frames for temporal scalability
TWI419567B (zh) 使用大的巨區塊之視訊編碼
RU2452128C2 (ru) Адаптивное кодирование информации заголовка видеоблока
US8995527B2 (en) Block type signalling in video coding
US7961788B2 (en) Method and apparatus for video encoding and decoding, and recording medium having recorded thereon a program for implementing the method
JP2010515305A (ja) 他のコーディングモードの情報を使用したコーディングモードの選択
EP1884027A2 (en) Rate control for multi-layer video design
US8189676B2 (en) Advance macro-block entropy coding for advanced video standards
JP2010526515A (ja) 推定されたコーディングコストを用いた映像コーディングモード選択
US8326060B2 (en) Video decoding method and video decoder based on motion-vector data and transform coefficients data
Fleury et al. Innovations in video error resilience and concealment
JP5684342B2 (ja) デジタル映像データを処理するための方法および装置
Yusuf Impact analysis of bit error transmission on quality of H. 264/AVC video codec
Baguda et al. H264/AVC features & functionalities suitable for wireless video transmission
Norouzi et al. Implementation of Hybrid MC/DCT video codec
Andrews et al. Test model 11 Purpose: Information
Cheung Error resilient support in video proxy over wireless channels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20081203

Effective date: 20100415

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee