[go: up one dir, main page]

KR100881037B1 - 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치 - Google Patents

시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치 Download PDF

Info

Publication number
KR100881037B1
KR100881037B1 KR1020067025330A KR20067025330A KR100881037B1 KR 100881037 B1 KR100881037 B1 KR 100881037B1 KR 1020067025330 A KR1020067025330 A KR 1020067025330A KR 20067025330 A KR20067025330 A KR 20067025330A KR 100881037 B1 KR100881037 B1 KR 100881037B1
Authority
KR
South Korea
Prior art keywords
reference frame
positioning
pass
frame portion
bidirectional
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020067025330A
Other languages
English (en)
Other versions
KR20070007380A (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 KR20070007380A publication Critical patent/KR20070007380A/ko
Application granted granted Critical
Publication of KR100881037B1 publication Critical patent/KR100881037B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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

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

1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있는 움직임 보상 코덱으로 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 디코딩하는 방법, 장치 및 시스템. 제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 단계, 제 1 레퍼런스 프레임 부분을 메모리에 저장하는 단계, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 단계, 및 양방향 예측 부분을 형성하기 위해, 제 1 레퍼런스 프레임 부분과 제 2 레퍼런스 프레임 부분을 결합하는 단계를 포함한다. 또한, 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있고, 각각의 매크로블록에 대한 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상의 디코딩을 제한하는 방법 및 장치.
영상 디코딩, 움직임 보상 코덱

Description

시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치{METHOD AND APPARATUS TO CONSTRUCT BI-DIRECTIONAL PREDICTED FRAMES FOR TEMPORAL SCALABILITY}
35 U.S.C. 119조 하의 우선권 주장
본 출원은 2004년 5월 4일 출원되고 본 양수인에게 양도되었으며 본 명세서에 참조로 통합된, 발명의 명칭이 "B-프레임 및 확장성을 개선하는 방법 및 장치 (METHOD AND APPARATUS TO IMPLEMENT B-FRAME AND SCALABILITY)" 인 가출원 제 60/568,142 호에 대해 우선권을 주장한다.
배경
기술분야
본 발명은 향상 계층 (enhancement layer) 프레임의 구성을 위해 기본 계층 모듈의 효율적인 재사용을 통해, 확장가능한 비디오 데이터를 인코딩 및 디코딩하는 방법 및 장치에 관한 것이다.
배경
멀티미디어 서비스에 대한 증대된 요구뿐만 아니라, 인터넷 및 무선 통신의 폭발적 성장 및 성공에 기인하여, 인터넷 및 이동/무선 채널을 통한 미디어 스트리밍이 크게 주목받고 있다. 이종 인터넷 프로토콜 (IP) 네트워크에서, 비디오는 서버에 의해 제공되고, 하나 이상의 클라이언트에 의해 스트리밍될 수 있다. 유선 접속은 다이얼-업, ISDN, 케이블, xDSL, 광섬유, LAN (로컬 영역 네트워크), WAN (광역 네트워크) 등을 포함한다. 송신 모드는 유니캐스트 또는 멀티캐스트일 수 있다. PDA (휴대용 단말기), 랩탑, 데스크탑, 셋-탑 박스, TV, HDTV (고해상도 TV), 이동 전화 등을 포함하는 다양한 개별 클라이언트 디바이스들은 동일한 콘텐츠에 대해 상이한 대역폭의 비트스트림을 동시에 요구한다. 접속 대역폭은 시간에 따라 (9.6 kbps 로부터 100 Mbps 이상까지) 급격하게 변화할 수 있고, 서버의 반응보다 더 빠를 수 있다.
이동/무선 통신은 이종 IP 네트워크와 유사하다. 이동/무선 채널을 통한 멀티미디어 콘텐츠의 전송은, 이러한 채널들이 흔히 다중경로 페이딩, 셰도잉, 인터심볼 간섭 및 잡음 방해와 같은 효과에 기인하여 심각하게 손상되기 때문에, 매우 어렵다. 이동성 및 트래픽 경합과 같은 기타 다른 이유 또한 대역폭 변동 및 손실을 유발시킨다. 채널 잡음 및 서비스중인 사용자의 수와 같은 요인이 채널 환경의 시변화 특성을 결정한다. 수신지 네트워크는, 환경적 조건에 부가하여 지리적 위치 및 이동 로밍에 기인하여 광대역 데이터 전용 네트워크에 대한 제 2 세대 셀룰러 네트워크에서 제 3 세대 셀룰러 네트워크로 변화할 수 있다. 이러한 모든 변수들은 멀티미디어 콘텐츠에 대한 적응 (adaptive) 레이트 조절뿐 아니라 온더플라이까지 요구한다. 따라서, 이종 유/무선 네트워크를 통한 비디오의 성공적 송신은 효율적인 코딩뿐 아니라, 손실에 탄력적이면서, 변화하는 네트워크 조건, 디바이스 특성 및 사용자 선호도에 대한 적응성을 요구한다.
상이한 사용자 요구를 충족하고 채널 변화에 적응하기 위해, 다수의 독립적 버전의 비트스트림을 생성할 수 있으며, 각각의 비트스트림은 송신 대역폭, 사용자 디스플레이 및 연산 능력에 기반한 제한들의 클래스를 충족시킨다. 그러나, 이것은 서버 저장력 또는 네트워크 용량에 있어서 효율적이지 못하다. 상위 사용자를 수용하는 단일한 매크로-비트스트림이 서버에서 확립되는 확장가능한 코딩에서, 하위 애플리케이션에 대한 비트스트림은 매크로-비트스트림의 서브세트로서 임베디드된다. 이와 같이, 단일한 비트스트림은 서브-비트스트림을 선택적으로 송신함으로써 다양한 애플리케이션 환경에 적응될 수 있다. 확장가능한 코딩에 의해 제공되는 또 다른 이점은 에러가 발생하기 쉬운 채널 상에서 로버스트한 비디오 송신을 할 수 있다는 것이다. 에러 보호 및 에러 은폐를 쉽게 조작할 수 있다. 더 신뢰할만한 송신 채널 또는 더 양호한 에러 보호는, 가장 중요한 정보를 포함하는 기본 계층 비트에 적용될 수 있다.
MPEG-1, MPEG-2, MPEG-4 (총괄적으로 MPEG-x 라 한다), H.261, H.262, H.263 및 H.264 (총괄적으로 H.26x 라 한다) 등과 같은 하이브리드 코더에는 공간적 확장성, 시간적 확장성, 및 신호대 잡음비 (SNR) 확장성이 존재한다. 하이브리드 코딩에서는, 움직임 보상 예측 (motion-compensated prediction; MCP) 에 의해 시간적 리던던시가 제거된다. 통상적으로 비디오는 일련의 영상 그룹 (groups of pictures; GOP) 으로 분할되고, 각각의 GOP 는 인트라-코딩 프레임 (I) 으로 개시되고, 순방향 예측 프레임 (P) 및 양방향 예측 프레임 (B) 의 배열이 후속한다. P-프레임 및 B-프레임은 인터 프레임이다. B 프레임은 대부분의 MPEG 형 코더에서 시간적 확장성에 대해 중요한 포인트이다. 그러나, MPEG-4 심플 프로파일 및 H.264 베이스라인 프로파일과 같은 일부 프로파일은 B 프레임을 지원하지 않는다.
MPEG-4 에서는, 프로파일 및 레벨이, 특정 비트스트림을 디코딩하는데 요구되는 디코더 능력에 기초하여 구문 (syntax) 및 의미 (semantics) 의 서브세트를 정의하는 수단을 제공한다. 프로파일은 전체 비트스트림 구문의 서브세트로서 정의된다. 레벨은 비트스트림의 파라미터에 부여되는 제한의 정의된 세트이다. 임의의 주어진 프로파일에 대하여, 레벨은 일반적으로 디코더 프로세싱 로드 및 메모리 능력에 대응한다. 따라서, 프로파일 및 레벨은 비트스트림에 대한 제한을 특정하고, 이에 따라 비트스트림의 디코딩 능력을 한정한다. 일반적으로, 디코더가 소정의 레벨에서 소정의 프로파일에 의해 특정되는 모든 구문의 요소들의 모든 허용값을 적절히 디코딩할 수 있으면 그 레벨에서 그 프로파일에 순응하는 것으로 보일 수도 있다.
근래의 마이크로프로세서 칩셋의 진화적 발전 또는 변경은, 소프트웨어, 펌웨어 및 하드웨어에 대한 변경을 최소화하면서 요건들이 충족될 수 있을때 효율적인 방식으로 달성될 수 있다. 전술한 바와 같이, MPEG-4 심플 프로파일 및 H.264 베이스라인 프로파일은 시간적 확장성을 위한 B 프레임을 지원하지 않는다. 따라서, 이러한 프로파일에 순응하면서 개발된 칩셋은 B 프레임을 지원하지 않을 수도 있다. 대중성의 증가 및 고속 레이트의 멀티미디어의 요구 및 고속 레이트 멀티미디어를 지원하는 네트워크의 요구에 따라, MPEG-4 심플 프로파일 또는 H.264 베이스라인 프로파일로부터, B 프레임으로 시간적 확장성을 제공하는 프로파일로 효율적인 변경이 요구된다. MPEG-4 표준은 ISO/IEC 14496-2 에 개시되어 있다. H.264 표준은 [ISO/IEC 14496-10] 에 개시되어 있다.
요약
따라서, 본 명세서에서 개시된 실시형태에서는, 기본 계층 소프트웨어, 펌웨어 및 하드웨어에 대한 변경을 최소화하면서 기본 계층의 비-시간적 (non-temporal) 스케일링 설계에 기반하여, 양방향 예측을 통해 확장가능한 비디오 코딩 데이터를 제공하는 방법 및 장치를 제공한다.
움직임 보상 양방향 예측의 사용을 통해 비디오 스트림의 확장가능 코딩을 가능하게 하는 비디오 인코딩 및 디코딩 시스템을 설명한다. 양방향 예측 영역의 구성을 위한 기본 계층의 비-시간적 스케일링 모듈의 효율적 설계 및 사용은 향상 계층 코딩을 제공하는 효율적인 변경 경로를 가능하게 한다. 기본 계층의 비-시간적 스케일링 모듈은 양방향 레퍼런스 영역 각각을 연속적으로 디코딩함으로써 양방향 예측 영역을 디코딩하고 그 결과를 결합하여 양방향 예측 영역을 계산하는데 사용된다.
도면의 간단한 설명
도 1 은 스트리밍 영상을 인코딩 및 디코딩하는 일반적인 통신 시스템의 블록도이다.
도 2A 는 통상적인 MPEG-4 심플 프로파일 데이터 스트림을 설명하는 도면이다.
도 2B 는 시간적 확장성을 가능하게 하는 통상적인 인코딩 데이터 스트림을 설명하는 도면이다.
도 3 은 MPEG-4 에서 P 프레임 구성 프로세스의 일 예를 설명한다.
도 4 는 MPEG-4 에서 B 프레임 구성 프로세스의 일 예를 설명한다.
도 5 는 H.264 에서 P 프레임 구성 프로세스의 일 예를 설명한다.
도 6 은 시간적 확장성을 포함하는 디코딩 프로세스의 일 예를 설명하는 흐름도이다.
도 7 은 기본 계층의 I 및 P 프레임 구성을 위한 움직임 보상 코덱 프로세스의 일 예를 설명하는 흐름도이다.
도 8 은 향상 계층 B 프레임 구성을 위한 움직임 보상 코덱 프로세스의 일 예를 설명하는 흐름도이다.
도 9 는 움직임 보상에 사용되는 1/2 픽셀 내삽의 일 예를 설명한다.
상세한 설명
기본 계층 소프트웨어, 펌웨어 및 하드웨어에 대한 변경을 최소화하면서 기본 계층의 비-시간적 코딩 설계에 기반하여 양방향 예측을 통해 확장가능한 비디오 코딩 데이터를 제공하는 방법, 장치 및 시스템을 설명한다. 기본 계층의 움직임 보상 코덱은 순방향 예측 또는 역방향 예측 P 프레임을 구성할 수 있다. 또한, 기본 계층 움직임 보상 코덱은 소프트웨어, 펌웨어 및 하드웨어에 대한 변경을 최소화하면서 변형되어 순방향/역방향 (또는 양방향) 예측 B 프레임을 구성할 수 있다. P 프레임을 디코딩하는데 사용되는 동일한 콤포넌트가 B 프레임을 다수의 레퍼런스로 디코딩하는데 연속적으로 이용될 수 있다. P 프레임은 기본 계층에 포함될 수 있으며, B 프레임은 확장가능한 비디오 코딩 비트스트림의 향상 계층에 포함될 수 있다.
다음의 설명에서는, 예시의 명확한 이해를 제공하기 위해 상세히 설명한다. 그러나, 이러한 예시들은 본 상세한 설명없이 실행될 수도 있음을 당업자는 이해할 것이다. 예를 들어, 불필요한 상세한 설명으로 예시를 모호하게 만들지 않기 위해 전기적 콤포넌트는 블록도로 도시될 수도 있다. 다른 예에서는, 예시를 더 상세히 설명하기 위해, 이러한 콤포넌트, 다른 구조 및 기술들을 상세히 도시할 수도 있다.
또한, 예시들은 플로우차트, 흐름도, 구조도 또는 블록도로서 도시되는 프로세스로서 설명될 수도 있다. 플로우차트는 순차적인 프로세스로서 동작을 설명할 수도 있지만, 많은 동작들은 병렬로 또는 동시에 수행될 수 있고, 그 프로세스는 반복될 수 있다. 또한, 동작의 순서는 재배열될 수도 있다. 프로세스는 그 동작이 완료될 때 종료한다. 프로세스는 방법, 함수, 공정, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 함수에 대응하는 경우, 그 종료는 호출 함수 또는 메인 함수로의 함수의 복귀에 대응한다.
MPEG-x 및 H.26x 로 공지된 1 쌍의 비디오 코딩 표준은, 고정 또는 가변 길이 소스 코딩 기술을 사용하여 비디오, 오디오 및 다른 정보의 압축 및 전송에 매우 적합한 데이터 프로세싱 및 조작 기술 (이하 하이브리드 코딩이라 한다) 을 설명한다. 더 상세하게는, 전술한 표준 및 다른 하이브리드 코딩 표준 및 기술은 인트라-프레임 코딩 기술 (예를 들어, 런-렝스 (run-length) 코딩, Huffman 코딩 등) 및 인터-프레임 코딩 기술 (예를 들어, 순방향 및 역방향 예측 코딩, 움직임 보상 등) 을 사용하여, 예를 들어 비디오 정보를 압축한다. 더 상세하게는, 비디오 프로세싱 시스템의 경우, 하이브리드 비디오 코딩 시스템은 인트라 및/또는 인터 프레임 움직임 보상 인코딩을 사용한 비디오 프레임의 예측 기반 압축 인코딩에 의해 특징지어 진다.
인트라-프레임 코딩은 임의의 다른 영상을 참조하지 않고 하나의 영상 (1 필드 또는 프레임) 을 인코딩하는 것을 지칭하고, 인트라-코딩 영상은 다른 영상을 위한 레퍼런스로서 사용될 수 있다. 인트라-프레임, 인트라-코딩 프레임 및 I 프레임이란 용어는 본 명세서 전반에 걸쳐 사용되는 인트라-코딩으로 형성되는 비디오-객체의 모든 예이다.
인터-프레임 코딩 또는 예측 코딩은 다른 영상을 참조하여 하나의 영상 (1 필드 또는 프레임) 을 인코딩하는 것을 지칭한다. 인트라-코딩 영상에 비해, 인터-코딩 또는 예측 영상은 더 큰 효율로 코딩될 수도 있다. 본 명세서 전반에 걸쳐 사용될 인터-코딩 영상의 예는 예측 프레임 (순방향 또는 역방향 예측 프레임, 또는 P 프레임이라 한다) 및 양방향 예측 프레임 (또는 B 프레임이라 함) 이다. 인터-코딩에 대한 다른 용어는 하이 패스 코딩, 잔여 코딩, 움직임 보상 내삽, 및 당업자에게 널리 공지된 용어들을 포함한다.
확장가능한 코딩으로 공지된 기술은 인트라-코딩 영상 및 상이한 인터-코딩 영상 (예를 들어, P 프레임 또는 B 프레임) 을, 예를 들어 기본 계층 및 향상 계층과 같은 비트스트림의 상이한 계층으로 분할할 수 있다. 확장가능한 코딩은, 확장가능한 비트스트림이 네트워크 대역폭의 변동에 부합하도록 적응될 수 있는 동 적 채널에서 유용하다. 에러가 가능한 채널에서, 확장가능한 코딩은 기본 계층 및 향상 계층의 불균등한 에러 보호를 통해 로버스트니스를 추가할 수 있다. 더 양호한 에러 보호가 더 중요한 계층에 적용될 수 있다.
도 1 은 스트리밍 영상을 인코딩 및 디코딩하기 위한 일반적인 통신 시스템의 블록도이다. 시스템 (100) 은 인코더 디바이스 (105) 및 디코더 디바이스 (110) 를 포함한다. 인코더 디바이스 (105) 는 인트라 인코딩 콤포넌트 (115), 예측 인코딩 콤포넌트 (120), 시간적 확장성 콤포넌트 (125), 메모리 콤포넌트 (130) 및 통신 콤포넌트 (175) 를 더 포함한다. 이러한 소자들은 별개의 콤포넌트일 수도 있고, 또는 하나 이상의 마이크로프로세서 또는 디지털 신호 프로세서 (DSP) 에 의해 포함될 수도 있다. 인코더 디바이스 (105) 는 통신 콤포넌트 (175) 에 포함된 통신 로직을 사용하여, 외부 소스 (135) 로부터 데이터를 수신할 수 있다. 외부 소스 (135) 는, 예를 들어, 외부 메모리, 인터넷, 라이브 또는 지연된 비디오 및/또는 오디오 피드일 수 있고, 데이터를 수신하는 것은 유선 및/또는 무선 통신일 수 있다. 외부 소스 (135) 에 포함된 데이터는 넌-인코딩 또는 인코딩 상태일 수 있다. 인트라 인코딩 콤포넌트 (115) 는 프레임 (슬라이스, 매크로블록 및 서브-매크로블록) 의 인트라-코딩 부분을 인코딩하는데 사용된다. 예측 인코딩 콤포넌트 (120) 는 순방향 예측, 역방향 예측 및 양방향 예측을 포함하는 프레임의 예측 부분을 인코딩하는데 사용된다.
인코더 디바이스 (105) 는 인코딩을 위해 미가공 데이터 또는 인코딩 데이터에 액세스할 수 있다. 인코딩 데이터는, 시간적 확장성을 제공하도록, 이미 인코딩된 부분을 양방향 예측 프레임과 같은 향상 계층 부분으로 대체하기 위해 액세스될 수 있다. 인코딩 데이터 (인트라-코딩 또는 인터-코딩 데이터) 에 액세스하는 경우, 인트라 인코딩 콤포넌트 (115) 및 예측 인코딩 콤포넌트 (120) 에 포함된 로직은 인코딩 데이터를 디코딩하여 재구성된 미가공 데이터를 생성한다. 이러한 재구성된 미가공 데이터 또는 액세스된 미가공 데이터는, 시간적 확장성 및/또는 낮은 우선순위의 데이터를 위해 B 프레임을 포함하는 향상 계층을 제공하는 방식으로 인코딩될 수 있다.
시간적 확장성 콤포넌트 (125) 는, 비디오 데이터의 어떤 부분이 인트라 인코딩 콤포넌트 (115) 에 의해 인트라-코딩되어야 하는지 및 어떤 부분이 예측 인코딩 콤포넌트 (120) 에 의해 인터-코딩되어야 하는지를 결정하는데 사용되는 로직을 포함한다. 또한, 시간적 확장성 콤포넌트 (125) 는, 비디오의 어떤 부분이 우선순위가 낮고 향상 계층에 배치되어야 하는지 및 어떤 부분이 우선순위가 높고 기본 계층에 배치되어야 하는지를 결정하기 위한 로직을 포함한다. 시간적 확장성 콤포넌트 (125) 는, 예를 들어, 매크로블록 (또는 서브-매크로블록) 이 인트라-코딩 또는 인터-코딩으로서 식별되고 (또한, 예를 들어, 순방향, 역방향 또는 양방향을 포함하는 인터-코딩 중 어떠한 타입인지를 식별함), 또한 인터-코딩 부분이 어떤 프레임(들)을 참조하는지에 대한 매크로-블록 맵과 같은 인트라-코딩 및 인터-코딩 부분의 맵을 포함할 수 있는 오버헤드 정보를 인코딩한다. 인코딩 후, 인코딩 프레임은 메모리 콤포넌트 (130) 또는 외부 메모리에 저장된다. 외부 메모리는 외부 소스 (135) 또는 별도의 메모리 콤포넌트 (미도시) 내에 포함될 수 있다.
통신 콤포넌트 (175) 는 네트워크 (140) 에 결합되어 데이터 송신 (Tx) 에 사용되는 로직을 포함한다. 네트워크 (140) 는 전화, 케이블 및 광섬유와 같은 유선 시스템 또는 무선 시스템의 일부일 수 있다. 무선 통신 시스템의 경우, 네트워크 (140) 는 예를 들어, 코드 분할 다중 접속 (CDMA 또는 CDMA2000 또는 CDMA2000 1x, CDMA2000 1x-EVDO 와 같은 변형예) 통신 시스템의 일부를 포함할 수 있고, 또는 대안으로, 그 시스템은 주파수 분할 다중 접속 (FDMA) 시스템, GSM/GPRS(General Packet Radio Service)/EDGE(enhanced data GSM environment) 또는 서비스업을 위한 TETRA (Terrestrial Trunked Radio) 이동 전화 기술과 같은 시분할 다중 접속 (TDMA) 시스템, 광대역 코드 분할 다중 접속 (WCDMA) OFDM 또는 OFDMA (Orthogonal Frequency Division Multiple Access) 시스템, 802.xx 시스템 또는 이러한 기술의 결합을 이용하는 일반적인 임의의 무선 통신 시스템일 수 있다. 인코딩 프레임은 네트워크 (140) 를 통해 송신 (Tx) 된다. 인코더 디바이스 (105) 에 의해 수행되는 인코딩 프로세스를 이하 더 상세히 설명한다.
디코더 디바이스 (110) 는 인트라 디코딩 콤포넌트 (145), 예측 디코딩 콤포넌트 (150), 시간적 확장성 콤포넌트 (155), 메모리 콤포넌트 (160) 및 통신 콤포넌트 (180) 를 포함하는, 인코더 디바이스 (105) 에 상보적인 콤포넌트들을 포함한다. 디코더 디바이스 (110) 는, 네트워크 (140) 를 통해, 또는 외부 저장부 (165) 로부터 송신된 인코딩 데이터를 수신한다. 통신 콤포넌트 (180) 는, 네트워크 (140) 에 결합하여 인코딩 데이터를 수신 (Rx) 하는데 사용되는 로직, 및 외부 저장부 (165) 로부터 인코딩 데이터를 수신하는데 사용되는 로직을 포함한다. 외부 저장부 (165) 는 예를 들어, 외부 RAM 또는 ROM, 또는 원격 서버일 수 있다. 인트라 디코딩 콤포넌트 (145) 는 인트라-코딩 데이터를 디코딩하는데 사용된다. 예측 디코딩 콤포넌트 (150) 는 인터-코딩 데이터를 디코딩하는데 사용된다. 예측 디코딩 콤포넌트는 (순방향 또는 역방향 예측된) P 프레임 및 B 프레임을 디코딩한다. 다수의 레퍼런스를 갖는 B 프레임을 디코딩하기 위해 P 프레임을 디코딩하는데 사용되는 것과 동일한 서브-콤포넌트가 연속적으로 이용될 수 있다. B 프레임에 대한 다수의 레퍼런스는 순방향 및 역방향 레퍼런스 프레임일 수 있고, 모두 동일한 레퍼런스 프레임일 수 있고, 모두 별도의 순방향 레퍼런스 프레임 또는 모두 역방향 레퍼런스 프레임일 수 있다.
시간적 확장성 콤포넌트 (155) 는, 전술한 매크로블록 맵을 포함하는 오버헤드 정보를 디코딩하고 이 정보를 해석하여, 인트라 디코딩 콤포넌트 (145) 및 예측 디코딩 콤포넌트 (150) 가 적절한 방식으로 적절한 매크로블록을 디코딩할 수 있다. 정보의 해석은, B 프레임 (또는 다수의 레퍼런스로부터 예측된 프레임의 다른 부분 또는 슬라이스) 의 디코딩을 위해 예측 디코딩 콤포넌트의 서브-콤포넌트의 연속적으로 2 회 사용을 가능하게 하는 것을 포함한다. 또한, 시간적 확장성 콤포넌트 (155) 는, 양방향 예측 프레임 및/또는 우선순위가 낮은 비디오 데이터를 포함하는 향상 계층 데이터의 디코딩을 스킵하는데 사용되는 로직을 포함한다. 향상 계층 데이터의 디코딩은, 예를 들어, 향상 계층 데이터가 수신되지 않거나, 불량한 또는 불충분한 SNR 로 수신되는 경우, 및/또는 디코더 디바이스에 불충분한 프로세싱 전력이 존재하는 경우 스킵될 수 있다. 디코딩 후, 디코딩 프레임은 디스플레이 콤포넌트 (170) 에 디스플레이되거나, 내부 메모리 (160) 또는 외부 저장부 (165) 에 저장될 수 있다. 디스플레이 콤포넌트 (170) 는, 디스플레이 스크린을 포함하는 비디오 디스플레이 하드웨어 및 로직과 같은 부분을 포함하는 디코딩 디바이스의 집적부일 수 있고, 또는 외부의 주변 디바이스일 수 있다. 디코더 디바이스 (110) 에 의해 수행되는 디코딩 프로세스를 이하 더 상세히 설명한다.
통상적인 MPEG 디코더에서는, 예측 코딩 픽셀 블록 (즉, 하나 이상의 움직임 벡터 및 잔여 에러 콤포넌트를 포함하는 블록) 이 레퍼런스 프레임 (인트라-프레임 또는 다른 예측 프레임이 레퍼런스 프레임으로 기능할 수 있음) 에 대해 디코딩된다. 도 2A 는 통상의 MPEG-4 심플 프로파일 데이터 스트림을 도시하는 도면이며 GOP 에 대한 프레임 의존성을 도시한다. GOP (10) 은 초기의 I 프레임 (12), 및 후속하는 다수의 순방향 예측 P 프레임 (14) 로 구성된다. 이전의 I 또는 P 프레임에 대한 P 프레임의 의존성은, 순방향 예측 프레임만을 지원할 수도 있는 시스템 (MPEG-4 심플 및 H.264 베이스라인 프로파일에 순응하는 시스템 등) 에 부여되는 시간적 확장성을 제한할 수 있다. P 프레임 (14) 중 임의의 프레임을 제거하는 것은 다른 P 프레임의 디코딩시 치명적일 수도 있는 정보의 손실을 유발할 수도 있다. P 프레임 제거는 예를 들어, 다음 GOP 의 개시를 나타내는 다음 I 프레임 (16) 까지의 디코딩 계속에 대한 디코더의 불능 또는 비디오 지터를 유발할 수도 있다.
확장가능한 비디오 코딩 시스템의 향상 계층에서 양방향 예측 데이터의 사용은 전술한 동적 채널에서 유용할 수 있다. 도 2B 는 시간적 확장성을 가능하게 하는 통상의 인코딩 데이터 스트림을 도시하는 도면이며, GOP 의 프레임 의존성을 도시한다. GOP (20) 는 I 프레임 (22A), 순방향 예측 P 프레임 (24) 및 양방향 예측 B 프레임 (26) 으로 구성된다. 각각의 B 프레임은 순방향 및 역방향 움직임 벡터와 I 프레임 (22A) 또는 순방향 예측 P 프레임 (24) 에 의해 참조된 잔여 에러를 결합할 수 있다 (또한, 역방향 예측 P 프레임이 사용될 수 있지만 도시하지 않았다). I 프레임 (22B) 은 다음 GOP 의 개시를 나타낸다. 도 2B 에 도시된 바와 같이, I 프레임 (22A) 과 P 프레임 (24) 사이 또는 2 개의 P 프레임 (24) 사이에는 하나의 B 프레임 (26) 만 포함된다. 몇몇 B 프레임이 레퍼런스 프레임 사이에 삽입되어 시간적 확장성에 더 큰 유동성을 허용할 수 있다. 다른 프레임들은 레퍼런스 프레임으로서 B 프레임에 의존하지 않기 때문에, 다른 프레임의 디코딩에 관한 정보의 손실 없이 B 프레임 (26) 을 제거할 수 있다. B 프레임 (26) 의 이러한 특성은, 채널 조건, 대역폭 제한, 배터리 전력 및 다른 고려사항들을 수용하기 위해 인코더, 트랜스코더 또는 디코더의 옵션에서 B 프레임 (26) 이 제거될 수 있는 비트스트림에 B 프레임 (26) 이 삽입되는 것을 허용한다. 예를 들어, 레퍼런스 프레임 사이에 3 개의 B 프레임이 존재하면, 모든 3 개의 B 프레임을 제거하여 프레임 레이트를 3/4 만큼 감소시킬 수 있고, 또는 중간의 B 프레임은 유지하고 다른 2 개는 제거하여 프레임 레이트를 1/2 만큼 감소시킬 수 있다. 데이터 레이트는 그에 따라 감소될 수 있다.
P 프레임 (또는 다른 인터-코딩 섹션) 은 현재 영상에서의 영역과 레퍼런스 영상에서의 최상의 매칭 예측 영역간의 시간적 리던던시를 이용할 수 있다. 현재 영역과 최상의 매칭 레퍼런스 예측 영역간의 차이는 잔여 에러 (또는 예측 에러) 로 공지되어 있다. 레퍼런스 프레임에서 최상의 매칭 예측 영역의 위치는 움직임 벡터에 인코딩될 수 있다. 도 3 은 예를 들어, MPEG-4 에서 P 프레임 구성 프로세스의 일 예를 도시한다. 프로세스 (300) 는 5 × 5 매크로블록으로 구성된 현재 영상 (305) 을 포함하며, 이 예에서 매크로블록의 수는 임의적이다. 매크로블록은 16 × 16 픽셀로 구성된다. 픽셀은 8 비트 휘도값 (Y) 및 2 개의 8 비트 색차값 (Cr 및 Cb) 으로 정의될 수 있다. MPEG 에서, Y, Cr 및 Cb 성분은 4:2:0 포맷으로 저장될 수 있으며, 여기서 Cr 및 Cb 성분은 X 및 Y 방향으로 2 씩 다운샘플링 또는 데시메이팅 (decimating) 된다. 따라서, 각각의 매크로블록은 256 개의 Y 성분, 64 개의 Cr 성분 및 64 개의 Cb 성분으로 구성될 것이다. 현재 영상 (305) 의 매크로블록 (315) 은 현재 영상 (305) 과는 상이한 시점에서 레퍼런스 영상 (310) 으로부터 예측된다. 레퍼런스 영상 (310) 에 대해 탐색이 수행되어, Y, Cr 및 Cb 값의 관점에서 가장 근접한 최상의 매칭 매크로블록 (320) 을, 인코딩되는 현재 매크로블록 (315) 으로 위치결정한다. 당업자에게 공지된, 최상의 매칭 매크로블록 (320) 을 탐색하는 방법은, a) 현재 매크로블록 (315) 과 레퍼런스 영상 (310) 매크로블록간의 SAD (sum of absolute pixel differences; 픽셀 차이의 절대값의 합) 를 최소화하는 단계, b) SSD (sum of squared pixel differences; 픽셀 차이의 제곱의 합) 을 최소화하는 단계, 및 c) 레이트 왜곡 등의 측면에서 비용을 최소화하는 단계를 포함한다. 레퍼런스 영상 (310) 에서의 최상의 매칭 매크로블록 (320) 의 위치는 움직임 벡터 (325) 에 인코딩된다. 레퍼런스 영상 (310) 은, 디코더가 현재 영상 (305) 을 구성하기 이전에 재구성한 I 프레임 또는 P 프레임일 수 있다. 최상의 매칭 매크로블록 (320) 은 현재 매크로블록 (315) 으로부터 감산되어 (각각의 Y, Cr 및 Cb 성분의 차이가 계산됨) 잔여 에러 (330) 를 생성한다. 잔여 에러 (330) 는 2D 이산 코사인 변환 (DCT; 335) 으로 인코딩되어 양자화된다 (340). 양자화 (340) 는, 예를 들어, 저주파수 계수에는 더 많은 비트를 할당하고 고주파수 계수에는 더 적은 비트를 할당함으로써 공간 압축을 제공하도록 수행될 수 있다. 움직임 벡터 (325) 및 레퍼런스 영상 (310) 식별 정보와 함께, 잔여 에러 (330) 의 양자화된 계수는 현재 매크로블록 (315) 을 나타내는 인코딩된 정보이다. 그 인코딩된 정보는 장래의 사용을 위해 메모리에 저장될 수 있고, 또는 예를 들어, 에러 정정 또는 이미지 향상의 목적으로 처리되거나 네트워크 (345) 를 통해 송신될 수 있다.
인코딩된 움직임 벡터 (325) 와 함께, 잔여 에러 (330) 의 인코딩된 양자화 계수는 후속 움직임 추정 및 보상을 위한 레퍼런스 프레임의 일부로서 사용하기 위해 인코더에서 현재 매크로블록 (315) 을 재구성하는데 사용된다. 인코더는 이러한 P 프레임 재구성을 위한 디코더의 과정을 에뮬레이트할 수 있다. 디코더의 에뮬레이션은 인코더 및 디코더가 동일한 레퍼런스 영상으로 작동하도록 할 것이다. 재구성 프로세스는 추가적인 인터-코딩을 위해 인코더에서 수행되든 디코더에서 수행되든 이 단계에서 제공된다. P 프레임의 재구성은 레퍼런스 프레임 (또는 레퍼런스되는 영상 또는 프레임의 일부) 이 재구성된 후 시작할 수 있다. 인코딩된 양자화 계수는 역양자화되고 (350), 2D 역 DCT, 즉 IDCT (355) 가 수행되어 디코딩된 또는 재구성된 잔여 에러 (360) 를 생성한다. 인코딩된 움직임 벡터 (325) 는 미리 재구성된 레퍼런스 영상 (310) 에서 이미 재구성된 최상의 매칭 매크로블록 (365) 을 위치결정하는데 사용된다. 그 후, 재구성된 잔여 에러 (360) 는 재구성된 최상의 매칭 매크로블록 (365) 에 추가되어 재구성된 매크로블록 (370) 을 형성한다. 재구성된 매크로블록 (370) 은 메모리에 저장될 수 있고, 독립적으로 또는 다른 재구성 매크로블록과 영상으로 디스플레이될 수도 있고, 또는 이미지 향상을 위해 더 프로세싱될 수 있다.
B 프레임 (또는 양방향 예측으로 코딩된 임의의 섹션) 은 현재 영상의 영역과 이전 영상의 최상의 매칭 예측 영역 및 후속 영상의 최상의 매칭 예측 영역간에 시간적 리던던시를 이용할 수 있다. 후속의 최상 매칭 예측 영역 및 역방향의 최상의 매칭 예측 영역이 결합되어 결합된 양방향 예측 영역을 형성한다. 현재 영상 영역과 최상의 매칭으로 결합된 양방향 예측 영역간의 차이가 잔여 에러 (또는 예측 에러) 이다. 후속 레퍼런스 영상에서 최상의 매칭 예측 영역의 위치 및 이전의 레퍼런스 영상에서 최상의 매칭 예측 영역의 위치는 2 개의 움직임 벡터로 인코딩될 수 있다.
도 4 는 예를 들어, MPEG-4 에서 B 프레임 구성 프로세스의 일 예를 도시한다. 프로세스 (400) 는 5 × 5 매크로블록으로 구성된 현재의 영상 (405) 을 포함하고, 이 예에서 매크로블록의 수는 임의적이다. 현재 영상 (405) 의 매크로블록 (415) 인코딩은 현재 영상 (405) 보다 이전의 시점에서 이전의 레퍼런스 영상 (410) 을 참조하고 후속 시점에서 후속 레퍼런스 영상 (475) 을 참조하여 수행된다. 이전 레퍼런스 영상 (410) 에서 탐색이 수행되어, 인코딩되는 현재 매크로블록 (415) 에 가장 근접한 최상의 매칭 매크로블록 (420) 을 위치결정한다. 최상의 매칭 매크로블록 (420) 의 위치는 움직임 벡터 (425) 에서 인코딩된다. 이전의 레퍼런스 영상 (410) 은, 디코더가 현재 영상 (405) 의 구성 이전에 재구성할 I 프레임 또는 P 프레임일 수 있다. 후속 레퍼런스 영상 (475) 에서 탐색이 수행되어, 현재 매크로블록 (415) 에 가장 근접한 최상의 매칭 매크로블록 (480) 을 위치결정한다. 최상의 매칭 매크로블록 (480) 의 위치는 움직임 벡터 (485) 에서 인코딩된다. 후속 레퍼런스 영상 (475) 은, 디코더가 현재 영상 (405) 의 구성 이전에 재구성할 I 프레임 또는 P 프레임일 수 있다. 최상의 매칭 매크로블록 (420) 및 최상의 매칭 매크로블록 (480) 이 평균화되어, 현재 매크로블록 (415) 로부터 감산될 결합된 양방향 매크로블록을 형성하고, 잔여 에러 (430) 를 생성한다.
최상의 매칭 매크로블록을 결합하는 다른 방법을 이하 설명한다. 잔여 에러 (430) 는, 예를 들어, DCT (435; 다른 2D 변환은 하다마드 변환 또는 H.264 에서와 같은 정수 변환을 포함함) 로 인코딩되고, 양자화된다 (440). 움직임 벡터 (425 및 485) 및 레퍼런스 영상 식별 정보와 함께, 잔여 에러 (430) 의 양자화 계수는 현재 매크로블록 (415) 을 나타내는 인코딩된 정보이다. 그 인코딩 정보는 장래의 사용을 위해 메모리에 저장될 수 있고, 또는 예를 들어, 에러 정정 또는 이미지 향상의 목적으로 처리되거나 네트워크 (445) 를 통해 송신될 수 있다.
시간적 스케일링 특성을 보유하기 위해 B 프레임이 레퍼런스 프레임으로 사용되지 않기 때문에, B 프레임의 매크로블록 재구성은 인코더에서는 필요하지 않을 수도 있다. 디코더에서는, 이전의 레퍼런스 프레임 (또는 레퍼런스되는 영상 또는 프레임의 일부) 및 후속 레퍼런스 프레임 (또는 레퍼런스되는 영상 또는 프레임의 일부) 이 재구성된 후 B 프레임 섹션의 재구성이 시작될 수 있다. 인코딩된 양자화 계수는 역양자화되고 (450), 그 후 2D IDCT (455) 가 수행되어 디코딩된 또는 재구성된 잔여 에러 (460) 를 생성한다. 인코딩된 움직임 벡터 (425 및 485) 는 미리 재구성된 이전의 레퍼런스 프레임 (410) 에서 미리 재구성된 최상의 매칭 매크로블록 (465) 을 위치결정하고, 후속 레퍼런스 프레임 (475) 에서 미리 재구성된 최상의 매칭 순방향 매크로블록 (490) 을 위치결정하는데 사용된다. 재구성된 최상의 매칭 매크로블록 (465 및 490) 은 평균화되어 결합된 양방향 매크로블록을 형성한다. 그 후, 재구성된 잔여 에러 (460) 가 결합된 양방향 매크로블록에 추가되어 재구성된 매크로블록 (470) 을 형성한다. 재구성된 매크로블록 (470) 은 메모리에 저장될 수 있고, 독립적으로 또는 다른 재구성된 매크로블록과 영상으로 디스플레이되거나, 또는 이미지 향상을 위해 더 프로세싱될 수 있다.
H.264 는 전술한 P 프레임 구성 및 B 프레임 구성의 MPEG-4 의 예에 일부 옵션을 제공한다. 도 5 는 H.264 에서 P 프레임 구성 프로세스의 일 예를 도시한다. 프로세스 (500) 는 5 × 5 매크로블록으로 구성된 현재의 영상 (505) 을 포함하며, 이 예에서 매크로블록의 수는 임의적이다. 현재 영상 (505) 의 매크로블록 (515) 은 현재 영상 (505) 과는 상이한 시점에 레퍼런스 영상 (510) 으로부터 예측된다. 매크로블록은 더 작은 서브-매크로블록 섹션으로 분할될 수 있고 (예를 들어, 이 예에서는 4 개의 서브-매크로블록이 도시되어 있지만, H.264 는 4 × 4 픽셀만큼 작은 서브-매크로블록 파티션을 허용한다. 따라서, 단일 매크로블록에 대해 16 개의 움직임 벡터가 존재할 수 있다), 각각의 서브-매크로블록 섹션은 시간적 리던던시를 위해 개별적으로 이용될 수 있다. 각각의 서브-매크로블록에 대한 최상의 매칭 서브-매크로블록을 위치결정하기 위해 레퍼런스 영상에서 탐색이 수행되어, 인코딩되는 현재 매크로블록 (515) 에 가장 근접한 합성된 최상의 매칭 매크로블록 (520) 을 생성한다. 레퍼런스 영상에서 최상의 매칭 매크로블록의 위치는 4 개의 움직임 벡터 (525a 내지 525d) 에서 인코딩될 수 있다. 레퍼런스 영상은, 디코더가 현재 영상 (505) 의 구성 이전에 재구성할 I 프레임 또는 P 프레임일 수 있다. 합성된 최상의 매칭 매크로블록 (505) 은 현재 매크로블록 (515) 으로부터 감산되어 잔여 에러 (530) 를 생성한다. 잔여 에러 (530) 는 MPEG-4 에서 사용된 DCT 와는 약간 상이한 순방향 2D 변환 (535) 으로 인코딩되어 양자화 (540) 될 수 있다. 잔여 에러 (530) 의 양자화 계수, 움직임 벡터 (525a 내지 525d) 및 레퍼런스 프레임 식별 정보는 현재 매크로블록 (515) 을 나타내는 인코딩된 정보이다. 그 인코딩된 정보는 장래의 사용을 위해 메모리에 저장될 수 있고, 또는 예를 들어, 에러 정정 또는 이미지 향상의 목적으로 처리되거나, 또는 네트워크 (545) 를 통해 송신될 수 있다.
또한, 인코딩된 양자화 계수, 움직임 벡터, 가중치 및 잔여 에러는, 후속 움직임 추정 및 보상을 위한 레퍼런스 프레임의 일부로서 사용되기 위해 인코더에서 현재 매크로블록을 재구성하는데 사용된다. 인코더는 이러한 P 프레임 재구성을 위해 디코더의 과정을 에뮬레이트할 수 있다. 디코더의 에뮬레이션은, 인코더 및 디코더가 동일한 레퍼런스 영상으로 동작하게 할 것이다. 재구성 프로세스는 추가적인 인터-코딩을 위해 인코더에서 수행되든 디코더에서 수행되든, 이 단계에서 제공된다. P 프레임의 재구성은 레퍼런스 프레임 (또는 레퍼런스되는 영상 또는 프레임의 일부) 이 재구성된 후 시작될 수 있다. 인코딩된 양자화 계수는 역양자화되고 (550), 2D 역변환 (555) 이 수행되어 디코딩된 또는 재구성된 잔여 에러 (560) 를 생성한다. 인코딩된 움직임 벡터 (525a 내지 525d) 는 디코딩되고, 재구성된 최상의 매칭 합성 매크로블록 (565) 을 형성하는, 이미 재구성된 최상의 매칭 서브-매크로블록을 위치결정하는데 사용된다. 그 후, 재구성된 잔여 에러 (460) 는 재구성된 최상의 매칭 합성 매크로블록 (560) 에 추가되어 재구성된 매크로블록 (570) 을 형성한다. 또한, 디블록킹 필터 (575) 가 매크로블록 또는 서브-매크로블록의 에지 등을 따라, 픽셀 향상을 위한 인코딩 또는 디코딩 프로세스의 일부로서 사용될 수 있다. 재구성된 매크로블록은 메모리에 저장될 수 있고, 독립적으로 또는 다른 재구성된 매크로블록과 영상으로 디스플레이되거나 또는 이미지 향상을 위해 더 프로세싱될 수 있다. H.264 에서의 B 프레임 구성은 유사한 방법을 사용하여 다수의 서브-매크로블록을 이용할 수 있음을 당업자는 인식할 것이다.
H.264 의 경우에, B 프레임 구성은, B 프레임의 상이한 슬라이스 또는 영상이 4 × 4 픽셀 블록으로 인트라-코딩 또는 인터-코딩될 수 있는 슬라이스 레벨 (통상적으로 슬라이스는 매크로블록의 인접 그룹이다) 또는 영상 레벨에서 수행될 수 있다. 또한, H.264 는 직접 모드의 양방향 예측을 제공한다. 직접 모드에서, 순방향 및 역방향 움직임 벡터는 2 개의 레퍼런스 프레임 중 하나의 동일위치 매크로블록에서 사용되는 움직임 벡터로부터 유도된다. 직접 모드에서, 순방향 및 역방향 움직임 벡터의 유도는 순방향 및 역방향 레퍼런스 프레임과 현재 B 프레임 또는 영상간의 시간적 거리에 기초한다. 또한, 직접 모드는 도 3 의 예에서 제공된 평균화 대신, 레퍼런스 매크로블록 Y, Cr 및 Cb 성분의 가중 (weighting) 이 가능하다. 또한, 가중은 역방향 및 순방향 레퍼런스 프레임과 현재 B 프레임 또는 영상간의 시간적 거리에 기초한다. 또한, B 프레임 구성은 도 3 에 도시된 평균 매크로블록 대신에, 순방향 또는 역방향의 최상의 매칭 매크로블록 중 오직 하나에 기초하여 잔여 에러를 연산할 수 있다.
도 6 은 시간적 확장성을 포함하는 디코딩 프로세스의 일 예를 도시하는 흐름도이다. 프로세스 (600) 는 도 1 의 디코더 디바이스 (110) 와 같은 디바이스에 의해 수행된다. 단계 (605) 에서, 인코딩된 비디오 데이터는 도 1 의 네트워크 (140) 와 같은 네트워크를 통해 디코더 디바이스에 의해 수신되거나, 또는 도 1 의 외부 저장 콤포넌트 (165) 와 같은 외부 저장부로부터 수신된다. 인코딩 데이터는 전술한 바와 같이 기본 계층 및 향상 계층을 포함한다. 도 1 의 통신 콤포넌트 (180) 와 같은 수신 수단이 단계 (605) 를 수행할 수 있다. 디코더 디바이스는 I 및 P 프레임 모두를 포함할 수 있는 기본 계층 데이터를 디코딩한다. 도 1 의 인트라 디코딩 콤포넌트 (145) 및 예측 디코딩 콤포넌트 (150) 와 같은 디코딩 수단이 단계 (610) 를 수행할 수 있다. 단계 (615) 에서, 디코더 디바이스는 향상 계층 데이터를 디코딩할지 여부를 결정한다. 향상 계층을 디코딩하지 않는 이유는, 예를 들어, 향상 계층 데이터가 수신되지 않거나, 불량한 또는 불충분한 SNR 로 수신되는 것 및/또는 디코더 디바이스에 프로세싱 전력이 불충분한 것을 포함한다. 결정 블록 (615) 은 임의의 레벨에서 수행되어, 전체 프레임, 슬라이스, 매크로블록 및 더 작은 부분을 포함하는 임의의 크기의 부분에 대한 디코딩을 생략할 수 있다. 단계 (615) 의 결정이 향상 계층을 디코딩하는 것이면, 단계 (620) 에서, 디코더 디바이스는 I, P 및 B 프레임을 포함하는 향상 계층 데이터를 디코딩한다. 도 1 의 시간적 확장성 콤포넌트 (155) 와 같은 결정 수단이 단계 (615) 를 수행할 수 있다. 도 1 의 인트라 디코딩 콤포넌트 (145) 및 예측 디코딩 콤포넌트 (150) 와 같은 디코딩 수단이 단계 (620) 를 수행할 수 있다. 디코더가 디코딩할 것을 선택한 모든 기본 계층 및 향상 계층 데이터가 디코딩된 후, 단계 (625) 에서, 디코더는 디코딩된 비디오를 메모리에 저장할 수 있거나, 그 비디오를 디스플레이할 수 있다. 도 1 의 외부 저장 콤포넌트 (165) 또는 메모리 콤포넌트 (160) 와 같은 저장 수단이 단계 (625) 의 저장 부분을 수행할 수 있다. 도 1 의 디스플레이 콤포넌트 (170) 와 같은 디스플레이 수단이 단계 (625) 의 디스플레이 부분을 수행할 수 있다.
도 7 은 도 6 의 단계 (610) 에서 수행된 바와 같이, 기본 계층 I 및 P 프레임 구성을 위한 움직임 보상 코덱 프로세스의 일 예를 도시하는 흐름도이다. 확장가능한 비디오 코딩 비트스트림의 기본 계층은 높은 우선순위의 데이터를 포함할 수 있다. 일부 저속 비트 레이트의 원격 디바이스는 기본 계층 능력만을 가질 수도 있다. 단계 (725) 에서, 디코더 프로세스 (700) 는 네트워크를 통해 또는 메모리로부터 인코딩된 양자화 인트라-코딩 비디오 데이터를 수신함으로써 I 프레임 디코딩을 시작한다. 도 1 의 통신 콤포넌트 (180) 와 같은 수신 수단이 단계 (725) 를 수행할 수 있다. 단계 (730) 에서, 양자화된 인트라-코딩 비디오 데이터가 역양자화된다. 그 후, 단계 (735) 에서, 데이터는 역변환되어 디코딩된 I 프레임을 생성한다. 그 후, 단계 (750) 에서, 디코딩된 I 프레임 또는 I-VOP (I-VOP 는 인트라-코딩된 비디오 객체 평면 (Video Object Plane) 을 뜻한다) 가 디스플레이되거나 및/또는 메모리에 저장될 준비가 된다. 또한, 디코더는, I 프레임을 참조한 후속 P 프레임을 디코딩하기 위해 디코딩된 출력 I-VOP 를 메모리에 저장할 수 있다.
P 프레임 디코딩은, P 프레임이 예측되는 레퍼런스 프레임이 디코딩된 후에만 시작할 수 있다. 단계 (705) 에서, 디코딩된 레퍼런스 VOP 가 메모리로부터 액세스된다. 단계 (710) 에서, VOP 경계 에지는 픽셀 내삽의 준비를 위해 0 으로 패딩된다. 0 으로의 패딩은, 불충분한 수의 픽셀이 존재하는 경계 영역 픽셀들 사이로 다수의 태핑된 필터가 정확하게 내삽될 수 있게 허용한다. 단계 (715) 에서, 패딩된 VOP 픽셀이 내삽된다. 픽셀 내삽은 움직임 보상을 위한 더 양호한 매칭 레퍼런스 영역을 달성하는데 사용된다. 이하, 픽셀 내삽을 더 상세히 설명한다. 픽셀이 내삽된 후, 단계 (720) 에서, 코덱은 인코딩된 움직임 벡터를 갖는 내삽된 픽셀 내에서 최상의 매칭 레퍼런스 매크로블록 (또는 임의의 크기의 섹션) 을 위치결정한다. 모든 인터-코딩된 매크로블록이 움직임 벡터로 위치결정되고 레퍼런스 프레임으로부터 부분적으로 재구성된 후, 단계 (755) 에서, 부분적으로 재구성된 P 프레임이 메모리에 저장된다. I 프레임에 대해 전술한 것과 유사하게, 단계 (725) 에서, P 프레임의 잔여 에러 부분의 양자화된 DCT 계수가 네트워크를 통해 또는 메모리로부터 수신된다. 단계 (730) 에서, 잔여 에러가 역양자화되고, 단계 (735) 에서 역변환된다. 단계 (740) 에서, 디코딩된 잔여 에러가, 부분적으로 재구성된 저장 P 프레임에 추가되어 디코딩된 출력 P-VOP 를 생성한다. 단계 (750) 에서, 디코딩된 P-VOP 는 메모리에 저장될 수 있고, 및/또는 디스플레이될 수 있다.
프로세스 (700) 는 전술한 바와 동일하게 사용되어, 도 6 의 단계 (620) 에서와 같이 향상 계층 I 및 P 프레임을 디코딩한다. 그러나, 단계 (620) 에서의 향상 계층 B 프레임의 디코딩은 하나의 이전 I 또는 P 프레임 및 하나의 후속 I 또는 P 프레임과 같은 2 개의 레퍼런스 프레임을 이용한다. 도 8 은 도 7 에 도시된 기본 계층 프로세스를 수행하는데 사용된 기본 계층 움직임 보상 코덱의 성분을 이용하는 향상 계층 B 프레임 구성 프로세스의 일 예의 흐름도이다. 이 예시적인 실시형태에서는, 양방향 영상 또는 B 프레임을 구성하기 위해, 기본 계층 성분을 변형없이 또는 약간 변형하고, 추가적인 소프트웨어, 펌웨어, 또는 하드웨어의 미세한 변경으로, 기본 계층 성분을 재사용한다. 단계 (805) 에서, B 프레임 구성은 제 1 의 디코딩된 VOP1 에 액세스함으로써 시작한다. 단계 (810) 에서, VOP1 경계 에지가 0 으로 패딩된다. 단계 (815) 에서, 패딩된 VOP1 의 픽셀이 내삽된다. 단계 (820) 에서, VOP1 에서 최상의 매칭 영역을 위치결정하기 위해 인코딩된 움직임 벡터가 사용된다. VOP1 은 일반화의 손실없이, 역방향 위치된 레퍼런스 프레임으로 가정할 수 있다. 단계 (855) 에서, VOP1 로부터의 최상의 매칭 매크로블록은 제 2 의 VOP 최상 매칭 매크로블록과의 결합을 위해 메모리에 저장된다. 단계 (855) 는, 미변형된 기본 계층 코덱은 요구하지 않는 VOP1 의 최상의 매칭 영역을 저장하기 위한 제 2 의 메모리 버퍼를 요구할 수도 있다. 단계 (805, 810, 815 및 820) 는 VOP2 에 대해 반복된다. 메모리에 저장된 제 2 프레임에 액세스할 수 있도록 기본 계층 코덱은 요구하지 않는 메모리의 제 2 영역을 요구할 수도 있다. 패딩, 픽셀 내삽 및 VOP1 의 최상의 매칭 영역 위치결정에는 사용되지 않은 동일한 기본 계층 모듈이 VOP2 에 대해서는 재사용된다.
임의의 1 시점에는 1 모듈만을 사용할 수 있기 때문에 모듈의 재사용은 인코딩/디코딩 프로세스에 지연을 추가할 수 있지만, 지연이 허용가능한 경우, 비용 절약은 더 큰 이점이 있다. 그 후, 단계 (860) 에서, VOP2 로부터의 최상의 매칭 매크로블록이 추가되고, 또한 VOP1 의 저장된 최상의 매칭 매크로블록에 라운딩 제어를 위한 "1" 이 추가되어 결합된 최상의 매칭 매크로블록을 생성한다. 그 후, 단계 (865) 에서, 결합된 최상의 매칭 매크로블록은 2 로 나눠져 픽셀값 (1 의 우측 비트 시프트로 표시) 을 평균화한다. 그 후, 단계 (845) 에서, 평균화되고 결합된 최상의 매칭 매크로블록은 메모리에 저장된다. 단계 (805, 810, 815, 820, 855, 860, 865 및 845) 는 전체의 부분적으로 재구성된 B-VOP 가 완료될 때까지 계속될 수 있다. 전술한 기본 계층 P-VOP 재구성과 같이, B-VOP 에 대한 잔여 에러는 네트워크를 통해 또는 메모리로부터 수신되고, 단계 (830) 에서 역양자화되고, 단계 (835) 에서 역변환된다. 그 후, 단계 (840) 에서, 저장된 부분적으로 재구성된 B-VOP 에 잔여 에러가 추가되어 디코딩된 B-VOP 를 생성한다. 그 후, 단계 (850) 에서, 디코딩된 B-VOP 는 메모리에 저장되거나 디스플레이된다.
도 8 은 제 1 패스에서 차례로 수행되는 단계 (805, 810, 815 및 820) 를 도시하며, 전체의 단계 세트는 제 2 패스에서 연속적으로 반복된다. 당업자가 인식하는 바와 같이, 다수의 프로세싱 스레드 (processing thread) 는 프로세서에서 동시에 발생할 수 있다. 다수의 프로세싱 스레드로, 움직임 보상 모듈과 같은 하나의 모듈은, 역양자화 및 역변환 모듈과 같은 다른 모듈이 제 2 레퍼런스 프레임 또는 블록을 프로세싱하는 동안 제 1 레퍼런스 프레임 또는 블록으로 동작할 수 있다. 모듈들이 그 동작을 완료하면, 움직임 보상 모듈이 제 2 레퍼런스 프레임으로 동작하고 역양자화 및 역변환 모듈이 다음 레퍼런스 프레임을 프로세싱하도록, 모듈들은 프레임 또는 블록을 스위칭한다. 이러한 타입의 다중 스레드 프로세싱은 모듈의 재사용에 의해 유발되는 연산 지연을 감소시킬 수 있다.
양방향으로 예측된 부분을 디코딩하기 위한 기본 계층 디코딩 콤포넌트의 재사용은 특정 제한을 요구할 수 있다. P-프레임에 있어서는, 움직임 벡터의 일 세트 (H.264 에서 4 × 4 픽셀 파티션에 대해 매크로블록당 16 까지) 및 하나의 레퍼런스 영상 인덱스가 그 콤포넌트들 사이에 통신된다. B-프레임에 있어서는, 동일한 인터페이스를 사용하기 위해, 인코딩은 매크로블록당 (각각 2 움직임 벡터를 갖는) 8 파티션으로 제한된다. B-프레임에서 16 개의 4 × 4 픽셀 파티션은 무시할만한 확률로 발생하고, 비트 레이트 및 품질에 대한 영향은 이러한 제한에 기인하여 인식할 수없는 것으로 시뮬레이션에서 나타났다. 또한, 인코딩을 8 파티션으로 제한하는 것은, 4 × 4 블록 파티션이 조작될 수 없음을 의미하는 것은 아니다. 매크로블록당 움직임 벡터의 수에 대해서만 제한된다. 예를 들어, 4 개의 4 × 4 블록 및 3 개의 8 × 8 픽셀 블록으로 분할된 매크로블록은 유효한 조합이다. 인코딩을 제한하는 것에 대안으로, 디코더는, 4 개의 4 × 4 블록 그룹이 결합되어 하나의 8 × 8 블록을 형성하고, 결합된 8 × 8 픽셀 블록에 대한 움직임 벡터로서 4 개의 (4 × 4 블록의) 움직임 벡터 중 하나가 사용되는 H.264 에 의해 제공되는 모드를 이용할 수 있다.
프로세서(들)의 연산 능력이 충분하다면, 움직임 보상 코덱은 패딩, 단편적 픽셀 내삽 및 최상의 매칭 영역 위치결정을 연속적으로 수행할 수 있다. 더 상세하게는, B-프레임 디코딩의 연산 로드 (더 상세하게는, 전체 프레임에 대한 움직임 보상에 소요되는 사이클의 수) 는 P-프레임에 대한 연산 로드보다 적다는 것이 시뮬레이션에서 나타났다. 따라서, 패딩, 내삽 및 최상의 매칭 영역 위치결정이 연속적으로 발생하는 경우에도, 프레임은 초당 30 프레임 이상까지의 플레이백 프레임 레이트를 충족시키도록 디코딩될 수 있다 (프레임은 [1/(fps의 프레임 레이트)]초로 디코딩되어야 한다).
픽셀 내삽은 움직임 보상 예측 코딩의 성능을 개선하는데 사용될 수 있다. 도 9 는 움직임 보상에 사용하기 위한 1/2 픽셀 내삽의 일 예를 도시한다. 도시된 예는, 하나의 내삽된 픽셀이 원시 정수 픽셀 각각의 사이에 위치되는 1/2 픽 셀 내삽이다. 정수 픽셀 (910) 은 대문자 "A" 내지 "I" 로 라벨링된 원으로 도시되고, 내삽된 1/2 픽셀 (920) 은 소문자 "a" 내지 "o" 로 라벨링된 사각형으로 도시된다. 1/2 픽셀 내삽은, 예를 들어, 가중치 [0.5 0.5] 를 갖는 2-탭 FIR 필터와 같은 2 선 필터로 수행될 수 있다. 예를 들어, 내삽된 픽셀 (922) 은 정수 픽셀 (912) 과 정수 픽셀 (914) 의 평균으로서 계산될 수 있고, 내삽된 픽셀 (924) 은 정수 픽셀 (912) 과 정수 픽셀 (916) 의 평균일 수 있고, 내삽된 픽셀 (926) 은 2 개의 내삽된 픽셀 (예를 들어, 922 와 928 또는 924 와 930) 의 평균일 수 있다. 휘도 (Y) 및 색차 (Cr 및 Cb) 성분 모두는 이 방식으로 내삽될 수 있다. 픽셀 내삽의 다른 순서는 다양한 표준에 따라 지원된다. H.264 는 1/8 픽셀 내삽 및 1/4 픽셀 내삽을 지원한다. 당업자는 이러한 다른 픽셀 내삽 방법을 이해할 것이며, 따라서 본 명세서에서는 상세히 설명하지 않는다.
전술한 방법 및 장치의 예시는 다음을 포함한다:
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 단계, 메모리에 제 1 레퍼런스 프레임 부분을 저장하는 단계, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 단계, 및 양방향 예측 부분을 형성하기 위해 제 1 레퍼런스 프레임 부분과 제 2 레퍼런스 프레임 부분을 결합하는 단계를 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 방법.
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 수단, 메모리에 제 1 레퍼런스 프레임 부분을 저장하는 수단, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 수단, 및 양방향 예측 부분을 형성하기 위해 제 1 레퍼런스 프레임 부분과 제 2 레퍼런스 프레임 부분을 결합하는 수단을 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 장치.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 전자 디바이스로서, 제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하고, 메모리에 제 1 레퍼런스 프레임 부분을 저장하고, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하고, 양방향 예측 부분을 형성하기 위해 제 1 레퍼런스 프레임 부분과 제 2 레퍼런스 프레임 부분을 결합하도록 구성되는 전자 디바이스.
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 단계, 메모리에 제 1 레퍼런스 프레임 부분을 저장하는 단계, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 단계, 및 양방향 예측 부분을 형성하기 위해 제 1 레퍼런스 프레임 부분과 제 2 레퍼런스 프레임 부분을 결합하는 단계를 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 방법을 컴퓨터가 실행하게 하는 명령을 갖는 컴퓨터 판독가능 매체.
양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 단계, 서브-매크로블록 각각에 대해 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 단계, 및 움직임 보상 코덱이 디코딩할 수 있는 제한된 수의 파티션의 1/2 이하인 수로 서브-매크로블록의 수를 제한하는 단계를 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있고 각각의 매크로블록에 대해 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 방법.
양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 수단, 서브-매크로블록 각각에 대해 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 수단, 및 움직임 보상 코덱이 디코딩할 수 있는 제한된 수의 파티션의 1/2 이하인 수로 서브-매크로블록의 수를 제한하는 수단을 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있고 각각의 매크로블록에 대해 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 장치.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있고 각각의 매크로블록에 대해 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 전자 디바이스로서, 양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하고, 서브-매크로블록 각각에 대해 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하고, 움직임 보상 코덱이 디코딩할 수 있는 제한된 수의 파티션의 1/2 이하인 수로 서브-매크로블록의 수를 제한하도록 구성되는 전자 디바이스.
양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 단계, 서브-매크로블록 각각에 대해 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 단계, 및 움직임 보상 코덱이 디코딩할 수 있는 제한된 수의 파티션의 1/2 이하인 수로 서브-매크로블록의 수를 제한하는 단계를 포함하며: 1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분을 위치결정할 수 있고 각각의 매크로블록에 대해 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 방법을 컴퓨터가 수행하게 하는 명령을 갖는 컴퓨터 판독가능 매체.
정보 및 신호는 다양한 다른 테크놀러지 및 기술을 사용하여 나타낼 수도 있다는 것을 당업자는 인식할 것이다. 예를 들어, 상기 설명 전체에 걸쳐 참조될 수도 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 심볼 및 칩은 전압, 전류, 전자기파, 자계 또는 자기 입자, 광계 또는 광입자, 또는 이들의 임의의 조합으로 나타낼 수도 있다.
또한, 본 명세서에서 개시한 예시와 관련되어 설명된 다양한 예시적 로직 블록, 모듈 및 알고리즘 단계가 전자 하드웨어, 컴퓨터 소프트웨어 또는 양자의 조합에 의해 구현될 수도 있음을 당업자는 인식할 것이다. 하드웨어와 소프트웨어 의 상호교환 가능성을 명확하게 설명하기 위해, 다양한 예시적 콤포넌트, 블록, 모듈, 회로 및 단계를 일반적으로 그 기능성의 면에서 설명하였다. 이러한 기능성이 하드웨어로서 또는 소프트웨어로서 구현되는지 여부는 전반적 시스템에 부여되는 설계 조건들 및 특정한 애플리케이션에 의존한다. 당업자는 설명한 기능성을 각각 특정한 애플리케이션에 대해 다양한 방식으로 구현할 수도 있지만, 이러한 구현 판단은 본 방법의 범주를 벗어나는 것으로 해석되어서는 안된다.
본 명세서에서 개시된 예시와 관련되어 설명된 다양한 예시적 로직 블록, 모듈 및 회로는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그램가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 콤포넌트, 또는 본 명세서에서 설명한 기능을 수행하기 위해 설계된 이들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있고, 또한, 프로세서는 임의의 통상적 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 또한, 프로세서는 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 와 결합된 하나 이상의 마이크로 프로세서 또는 임의의 다른 구성과 같은 연산 디바이스들의 조합으로 구현될 수도 있다.
본 명세서에서 개시한 예시와 관련하여 설명한 방법 또는 알고리즘의 단계는 하드웨어에서 직접 구체화될 수도 있고, 프로세서에 의해 실행되는 소프트웨어 모듈 또는 이 둘의 조합에서 구체화될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디 스크, 착탈식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 정보를 판독하고, 정보를 기록할 수 있도록 프로세서에 결합된다. 또한, 저장 매체는 프로세서에 집적될 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 는 무선 모뎀에 상주할 수도 있다. 또한, 프로세서 및 저장 매체는 무선 모뎀에서 이산 콤포넌트로서 상주할 수도 있다.
개시된 예시들의 이전의 설명은, 당업자가 개시된 방법 및 장치를 실시하거나 사용할 수 있도록 제공된다. 이러한 예시들의 다양한 변형예들은 당업자에게 자명하고, 본 명세서에서 정의된 원리들은 본 방법 및 장치의 사상 및 범주를 벗어나지 않으면서 다른 예시들에 적용될 수도 있다.
따라서, 기본 계층 소프트웨어, 펌웨어 및 하드웨어에 대한 변화를 최소화하면서 기본 계층의 비확장 코딩 설계에 기초하여, 양방향 예측을 통한 확장가능한 비디오 코딩 데이터를 제공하는 방법, 장치 및 시스템을 설명하였다.
본 명세서에서 개시한 실시형태에 관련하여 설명한 다양한 예시적인 로직, 로직 블록, 모듈 및 회로는 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그래머블 게이트 어레이 (FPGA) 또는 다른 프로그램가능한 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 콤포넌트 또는 본 명세서에서 개시된 기능을 수행하도록 설계된 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있고, 또한 프로세서는 임의의 통상적 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수도 있다. 또한, 프로세서는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 와 관련된 하나 이상의 마이크로프로세서 또는 임의의 다른 구성등 연산 디바이스의 조합으로서 구현될 수도 있다.
본 명세서에서 개시한 실시형태와 관련하여 설명한 방법 또는 알고리즘의 단계는 하드웨어에서 직접 구체화될 수도 있고, 프로세서에 의해 실행되는 소프트웨어 모듈 또는 둘의 조합으로 구체화될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 정보를 판독하고, 정보를 기록할 수 있도록 프로세서에 결합된다. 또한, 저장 매체는 프로세서에 집적될 수도 있다. 프로세서 및 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 는 사용자 단말에 상주할 수도 있다. 또한, 프로세서 및 저장 매체는 사용자 단말에 이산 콤포넌트로서 상주할 수도 있다.
본 실시형태의 이전의 설명은, 당업자가 본 발명을 실시하거나 사용할 수 있도록 제공된다. 본 실시형태들에 대한 다양한 변형예는 당업자에게 자명하고, 본 명세서에서 정의된 고유의 원리는 본 발명의 사상 또는 범주로부터 벗어나지 않으면서, 예를 들어, 인스턴트 메시징 서비스 또는 임의의 일반적인 무선 데이터 통신 애플리케이션 등에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 나타낸 실시형태에 한정되도록 의도된 것이 아니며, 본 명세서에서 개시한 원리 및 신규 특성에 부합하는 최광의에 부합하도록 의도된 것이다. 용어 "예시" 는 "예, 예시, 또는 설명으로서 기능하는 것" 을 의미하도록 광의로 사용된다. 본 명세서에 "예시" 로 개시된 임의의 실시형태는 다른 실시형태에 대해 우선시되거나 이점이 있는 것으로 해석될 필요는 없다.

Claims (33)

1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 방법으로서,
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 단계;
상기 제 1 레퍼런스 프레임 부분을 메모리에 저장하는 단계;
제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 단계; 및
양방향 예측 부분을 형성하기 위해, 상기 제 1 레퍼런스 프레임 부분과 상기 제 2 레퍼런스 프레임 부분을 결합하는 단계를 포함하며,
상기 방법은,
상기 제 1 레퍼런스 프레임 및 상기 제 2 레퍼런스 프레임을 나타내는 인코딩 데이터를 무선 네트워크를 통해 수신하는 단계; 및
상기 제 1 레퍼런스 프레임 부분 및 상기 제 2 레퍼런스 프레임 부분의 위치를 식별하는 인코딩 데이터를 상기 무선 네트워크를 통해 수신하는 단계를 더 포함하는, 디코딩 방법.
삭제
제 1 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 픽셀을 내삽하는 단계; 및
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 픽셀을 내삽하는 단계를 더 포함하는, 디코딩 방법.
제 3 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 경계 에지를 패딩하는 단계; 및
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 경계 에지를 패딩하는 단계를 더 포함하는, 디코딩 방법.
제 1 항에 있어서,
상기 레퍼런스 프레임 부분들을 움직임 벡터로 위치결정하는 단계를 더 포함하는, 디코딩 방법.
제 1 항에 있어서,
상기 양방향 예측 부분에 잔여 에러를 추가하는 단계를 더 포함하는, 디코딩 방법.
제 1 항에 있어서,
상기 양방향 예측 부분을 디스플레이하는 단계를 더 포함하는, 디코딩 방법.
제 1 항에 있어서,
상기 제 2 패스에서의 상기 제 2 레퍼런스 프레임 부분의 위치결정은, 상기 제 1 패스에서의 상기 제 1 레퍼런스 프레임 부분의 위치결정이 완료된 이후에 연속적으로 수행되는, 디코딩 방법.
제 1 항에 있어서,
시간적 스케일링을 수행하기 위해, 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상의 디코딩을 생략할 것을 결정하는 단계를 더 포함하는, 디코딩 방법.
제 1 항에 있어서,
확장 가능한 비디오 코딩 비트스트림의 기본 계층에서 멀티미디어 데이터의 제 1 인터-코딩 부분을 인코딩하는 단계;
상기 확장 가능한 비디오 코딩 비트스트림의 향상 계층에서 멀티미디어 데이터의 제 2 양방향 부분을 인코딩하는 단계로서, 상기 멀티미디어 데이터는 상기 제 1 레퍼런스 프레임 및 상기 제 2 레퍼런스 프레임을 나타내는 데이터, 및 상기 제 1 레퍼런스 프레임 부분 및 상기 제 2 레퍼런스 프레임 부분의 위치를 식별하는 데이터를 포함하는, 상기 제 2 양방향 부분의 인코딩 단계; 및
상기 멀티미디어 데이터를 상기 무선 네트워크를 통해 송신하는 단계를 더 포함하는, 디코딩 방법.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 장치로서,
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 수단;
상기 제 1 레퍼런스 프레임 부분을 메모리에 저장하는 수단;
제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 수단; 및
양방향 예측 부분을 형성하기 위해, 상기 제 1 레퍼런스 프레임 부분과 상기 제 2 레퍼런스 프레임 부분을 결합하는 수단을 구비하며,
상기 장치는,
상기 제 1 레퍼런스 프레임 및 상기 제 2 레퍼런스 프레임을 나타내는 인코딩 데이터를 무선 네트워크를 통해 수신하는 수단; 및
상기 제 1 레퍼런스 프레임 부분 및 상기 제 2 레퍼런스 프레임 부분의 위치를 식별하는 인코딩 데이터를 상기 무선 네트워크를 통해 수신하는 수단을 더 구비하는, 디코딩 장치.
삭제
제 11 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 픽셀을 내삽하는 수단; 및
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 픽셀을 내삽하는 수단을 더 구비하는, 디코딩 장치.
제 13 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 경계 에지를 패딩하는 수단; 및
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 경계 에지를 패딩하는 수단을 더 구비하는, 디코딩 장치.
제 11 항에 있어서,
상기 레퍼런스 프레임 부분들을 움직임 벡터로 위치결정하는 수단을 더 구비하는, 디코딩 장치.
제 11 항에 있어서,
상기 양방향 예측 부분에 잔여 에러를 추가하는 수단을 더 구비하는, 디코딩 장치.
제 11 항에 있어서,
상기 양방향 예측 부분을 디스플레이하는 수단을 더 구비하는, 디코딩 장치.
제 11 항에 있어서,
상기 제 2 패스에서의 상기 제 2 레퍼런스 프레임 부분의 위치결정은, 상기 제 1 패스에서의 상기 제 1 레퍼런스 프레임 부분의 위치결정이 완료된 이후에 연속적으로 수행되는, 디코딩 장치.
제 11 항에 있어서,
시간적 스케일링을 수행하기 위해 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상의 디코딩을 생략할 것을 결정하는 수단을 더 구비하는, 디코딩 장치.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 전자 디바이스로서,
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하고, 상기 제 1 레퍼런스 프레임 부분을 메모리에 저장하고, 제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하고, 양방향 예측 부분을 형성하기 위해, 상기 제 1 레퍼런스 프레임 부분과 상기 제 2 레퍼런스 프레임 부분을 결합하도록 구성되며,
상기 전자 디바이스는, 또한, 상기 제 1 레퍼런스 프레임 및 상기 제 2 레퍼런스 프레임을 나타내는 인코딩 데이터를 무선 네트워크를 통해 수신하고, 상기 제 1 레퍼런스 프레임 부분 및 상기 제 2 레퍼런스 프레임 부분의 위치를 식별하는 인코딩 데이터를 상기 무선 네트워크를 통해 수신하도록 구성되는, 전자 디바이스.
삭제
제 20 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 픽셀을 내삽하고,
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 픽셀을 내삽하도록 더 구성되는, 전자 디바이스.
제 22 항에 있어서,
상기 제 1 패스에서 상기 제 1 레퍼런스 프레임의 경계 에지를 패딩하고,
상기 제 2 패스에서 상기 제 2 레퍼런스 프레임의 경계 에지를 패딩하도록 더 구성되는, 전자 디바이스.
제 20 항에 있어서,
상기 레퍼런스 프레임 부분들을 움직임 벡터로 위치결정하도록 더 구성되는, 전자 디바이스.
제 20 항에 있어서,
상기 양방향 예측 부분에 잔여 에러를 추가하도록 더 구성되는, 전자 디바이 스.
제 20 항에 있어서,
상기 양방향 예측 부분을 디스플레이하도록 더 구성되는, 전자 디바이스.
제 20 항에 있어서,
상기 제 2 패스에서의 상기 제 2 레퍼런스 프레임 부분의 위치결정은, 상기 제 1 패스에서의 상기 제 1 레퍼런스 프레임 부분의 위치결정이 완료된 이후에 연속적으로 수행되는, 전자 디바이스.
제 20 항에 있어서,
시간적 스케일링을 수행하기 위해, 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상의 디코딩을 생략할 것을 결정하도록 더 구성되는, 전자 디바이스.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있는 움직임 보상 코덱으로 양방향 영상을 디코딩하는 방법을, 컴퓨터가 실행하게 하는 명령들을 갖는 컴퓨터 판독가능 매체로서,
상기 방법은,
제 1 패스에서 제 1 레퍼런스 프레임으로부터 제 1 레퍼런스 프레임 부분을 위치결정하는 단계;
상기 제 1 레퍼런스 프레임 부분을 메모리에 저장하는 단계;
제 2 패스에서 제 2 레퍼런스 프레임으로부터 제 2 레퍼런스 프레임 부분을 위치결정하는 단계; 및
양방향 예측 부분을 형성하기 위해, 상기 제 1 레퍼런스 프레임 부분과 상기 제 2 레퍼런스 프레임 부분을 결합하는 단계를 포함하며,
상기 방법은,
상기 제 1 레퍼런스 프레임 및 상기 제 2 레퍼런스 프레임을 나타내는 인코딩 데이터를 무선 네트워크를 통해 수신하는 단계; 및
상기 제 1 레퍼런스 프레임 부분 및 상기 제 2 레퍼런스 프레임 부분의 위치를 식별하는 인코딩 데이터를 상기 무선 네트워크를 통해 수신하는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있고, 각각의 매크로블록에 대한 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 방법으로서,
상기 양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 단계;
상기 서브-매크로블록 각각에 대해 상기 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 단계; 및
상기 서브-매크로블록의 수를, 상기 움직임 보상 코덱이 디코딩할 수 있는 상기 제한된 수의 파티션의 1/2 이하의 수로 제한하는 단계를 포함하는, 인코딩 방법.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있고, 각각의 매크로블록에 대한 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 장치로서,
상기 양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 수단;
상기 서브-매크로블록 각각에 대해 상기 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 수단; 및
상기 서브-매크로블록의 수를, 상기 움직임 보상 코덱이 디코딩할 수 있는 상기 제한된 수의 파티션의 1/2 이하의 수로 제한하는 수단을 포함하는, 인코딩 장치.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있고, 각각의 매크로블록에 대한 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 전자 디바이스로서,
상기 양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하고,
상기 서브-매크로블록 각각에 대해 상기 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하고,
상기 서브-매크로블록의 수를, 상기 움직임 보상 코덱이 디코딩할 수 있는 상기 제한된 수의 파티션의 1/2 이하의 수로 제한하도록 구성되는, 전자 디바이스.
1 회에 단지 하나의 레퍼런스 프레임으로부터 레퍼런스 프레임 부분들을 위치결정할 수 있고, 각각의 매크로블록에 대한 제한된 수의 파티션을 디코딩할 수 있는 움직임 보상 코덱에 의해 디코딩되는 2 개의 레퍼런스 프레임으로부터 예측된 양방향 영상을 인코딩하는 방법을, 컴퓨터가 실행하게 하는 명령들을 갖는 컴퓨터 판독가능 매체로서,
상기 방법은,
상기 양방향 영상의 매크로블록을 복수의 서브-매크로블록으로 파티셔닝하는 단계;
상기 서브-매크로블록 각각에 대해 상기 2 개의 레퍼런스 프레임 각각에서 예측 영역을 위치결정하는 단계; 및
상기 서브-매크로블록의 수를, 상기 움직임 보상 코덱이 디코딩할 수 있는 상기 제한된 수의 파티션의 1/2 이하의 수로 제한하는 단계를 포함하는, 컴퓨터 판독가능 매체.
KR1020067025330A 2004-05-04 2005-05-02 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치 Expired - Fee Related KR100881037B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56814204P 2004-05-04 2004-05-04
US60/568,142 2004-05-04

Publications (2)

Publication Number Publication Date
KR20070007380A KR20070007380A (ko) 2007-01-15
KR100881037B1 true KR100881037B1 (ko) 2009-02-05

Family

ID=34967605

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067025330A Expired - Fee Related KR100881037B1 (ko) 2004-05-04 2005-05-02 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치

Country Status (9)

Country Link
US (1) US8320464B2 (ko)
EP (1) EP1747677A2 (ko)
JP (2) JP4805915B2 (ko)
KR (1) KR100881037B1 (ko)
CN (1) CN1981531B (ko)
AR (1) AR049166A1 (ko)
CA (1) CA2565645C (ko)
TW (1) TWI378729B (ko)
WO (1) WO2005109896A2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886191B1 (ko) * 2004-12-06 2009-02-27 엘지전자 주식회사 영상 블록을 디코딩 하는 방법
JP5234241B2 (ja) * 2004-12-28 2013-07-10 日本電気株式会社 動画像符号化方法、及びこれを用いた装置と、コンピュータプログラム
WO2007027010A1 (en) * 2005-07-15 2007-03-08 Samsung Electronics Co., Ltd. Apparatus and method of encoding video and apparatus and method of decoding encoded video
JP2009507450A (ja) * 2005-09-07 2009-02-19 ヴィドヨ,インコーポレーテッド 高信頼性基本層トランクに関するシステムおよび方法
KR100746013B1 (ko) * 2005-11-15 2007-08-06 삼성전자주식회사 무선 네트워크에서의 데이터 전송 방법 및 장치
US8233535B2 (en) 2005-11-18 2012-07-31 Apple Inc. Region-based processing of predicted pixels
US8130629B2 (en) * 2005-11-25 2012-03-06 Go Net Systems Ltd Simultaneous simulcast and single cast hybrid multi-tone communication system
CN101371312B (zh) 2005-12-08 2015-12-02 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
US8436889B2 (en) * 2005-12-22 2013-05-07 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
CA2633366C (en) * 2005-12-22 2015-04-28 Vidyo, Inc. System and method for videoconferencing using scalable video coding and compositing scalable video conferencing servers
US8693538B2 (en) * 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
US8781842B2 (en) * 2006-03-07 2014-07-15 Telefonaktiebolaget Lm Ericsson (Publ) Scalable coding with non-casual predictive information in an enhancement layer
EP2069951A4 (en) * 2006-09-29 2013-06-05 Vidyo Inc SYSTEM AND METHOD FOR MULTIPORT CONFERENCES WITH SCALABLE VIDEO CODING SERVER AND MULTICAST
US8611418B2 (en) * 2006-11-30 2013-12-17 Lsi Corporation Decoding a progressive JPEG bitstream as a sequentially-predicted hybrid video bitstream
US20100020879A1 (en) * 2006-12-21 2010-01-28 Thomson Licensing Method for decoding a block of a video image
US8462856B2 (en) 2007-01-09 2013-06-11 Vidyo, Inc. Systems and methods for error resilience in video communication systems
CN101669369B (zh) * 2007-04-24 2013-11-06 诺基亚公司 媒体文件中的多个解码时间的信号传输
KR101366244B1 (ko) * 2007-04-24 2014-02-21 삼성전자주식회사 레지듀얼 데이터를 이용한 영상의 에러 은닉 방법 및 장치
US8599921B2 (en) * 2009-03-27 2013-12-03 Vixs Systems, Inc Adaptive partition subset selection module and method for use therewith
KR100968371B1 (ko) * 2008-04-25 2010-07-06 주식회사 코아로직 영상의 복호화 방법 및 장치
US9419620B2 (en) 2008-07-22 2016-08-16 Nytell Software LLC Field programmable object array and video compression processor for video data compression
KR101210578B1 (ko) * 2008-12-23 2012-12-11 한국전자통신연구원 스케일러블 비디오 코딩에서의 비트율-왜곡값을 이용한 상위 계층의 빠른 부호화 방법 및 그 부호화 장치
KR20110106465A (ko) * 2009-01-28 2011-09-28 노키아 코포레이션 비디오 코딩 및 디코딩을 위한 방법 및 장치
WO2010124136A1 (en) 2009-04-24 2010-10-28 Delta Vidyo, Inc. An efficient video skimmer
KR100924309B1 (ko) 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
JP2012531816A (ja) * 2009-06-24 2012-12-10 デルタ・ヴィディオ・インコーポレイテッド アクティブビデオ電子番組ガイドのためのシステムおよび方法
US8873626B2 (en) * 2009-07-02 2014-10-28 Qualcomm Incorporated Template matching for video coding
WO2011066105A1 (en) * 2009-11-25 2011-06-03 Delta Vidyo, Inc. Iptv presence and interaction protocol
US8559519B2 (en) * 2010-01-08 2013-10-15 Blackberry Limited Method and device for video encoding using predicted residuals
US8908774B2 (en) 2010-02-11 2014-12-09 Mediatek Inc. Method and video receiving system for adaptively decoding embedded video bitstream
TWI419568B (zh) * 2010-05-27 2013-12-11 Univ Nat Sun Yat Sen 三維之影像切割方法
US8934530B2 (en) 2011-02-01 2015-01-13 Vidyo, Inc. Spatial scalability using redundant pictures and slice groups
CN103959197B (zh) * 2011-11-30 2017-01-18 英特尔公司 降低3d工作负荷的功率
CN104041034B (zh) * 2012-01-19 2018-10-16 索尼公司 图像处理设备和方法
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
JP6261215B2 (ja) * 2013-07-12 2018-01-17 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN104427345B (zh) * 2013-09-11 2019-01-08 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
JP6197708B2 (ja) * 2014-03-17 2017-09-20 富士通株式会社 動画像伝送システム、動画像符号化装置、動画像復号装置及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
KR101575072B1 (ko) * 2014-10-21 2015-12-07 숭실대학교산학협력단 2차원 데이터 구조에서 심볼 간 간섭을 보상하는 방법 및 장치, 이를 수행하기 위한 기록매체
CN114513657B (zh) * 2016-07-05 2024-06-04 株式会社Kt 对视频进行解码的方法和设备以及对视频进行编码的方法
EP3985967A1 (en) 2016-07-05 2022-04-20 KT Corporation Method and apparatus for processing video signal
CN106254030B (zh) * 2016-07-29 2019-04-23 西安电子科技大学 无速率Spinal码的双向编译码方法
WO2018132150A1 (en) 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
US12225212B2 (en) 2018-03-15 2025-02-11 University-Industry Cooperation Foundation Of Kyung Hee University Image encoding/decoding method and apparatus
CN111182310A (zh) * 2019-12-26 2020-05-19 腾讯科技(深圳)有限公司 视频处理方法、装置、计算机可读介质及电子设备
WO2023239147A1 (ko) * 2022-06-07 2023-12-14 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936670A (en) * 1995-09-20 1999-08-10 U.S. Philips Corporation Method and device for decoding coded digital video signals

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2240005B (en) * 1989-11-03 1994-06-15 British Broadcasting Corp Improvements in television systems
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
CN1058362C (zh) * 1993-03-15 2000-11-08 索尼公司 图像信号的传输和解码
JP3480980B2 (ja) * 1993-03-15 2003-12-22 ソニー株式会社 画像信号伝送方法及び装置、並びに画像信号復号化方法及び装置
US5852681A (en) * 1995-04-20 1998-12-22 Massachusetts Institute Of Technology Method and apparatus for eliminating artifacts in data processing and compression systems
JP3022334B2 (ja) * 1995-07-28 2000-03-21 松下電器産業株式会社 画像生成装置、動画伸長マッピング装置およびマルチメディア機器
US6173013B1 (en) * 1996-11-08 2001-01-09 Sony Corporation Method and apparatus for encoding enhancement and base layer image signals using a predicted image signal
CN1297147C (zh) * 1997-03-07 2007-01-24 通用仪器公司 对交错数字视频的双向预测的视频目标平面的预测和编码
JPH10294943A (ja) * 1997-04-18 1998-11-04 Matsushita Electric Ind Co Ltd 映像信号符号化方式と映像信号符号化装置と映像信号復号化方式と映像信号復号化装置
US6212237B1 (en) * 1997-06-17 2001-04-03 Nippon Telegraph And Telephone Corporation Motion vector search methods, motion vector search apparatus, and storage media storing a motion vector search program
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
JP2001136371A (ja) * 1999-11-05 2001-05-18 Hitachi Kokusai Electric Inc 静止画像通信方法及び静止画像通信システム
CN1409929A (zh) 1999-11-12 2003-04-09 通用仪器公司 提供一组定制的编码工具的mpeg-4视频特定控制封包
US6891893B2 (en) * 2000-04-21 2005-05-10 Microsoft Corp. Extensible multimedia application program interface and related methods
JP4906197B2 (ja) * 2000-05-29 2012-03-28 ソニー株式会社 復号装置および方法、並びに記録媒体
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US6940905B2 (en) * 2000-09-22 2005-09-06 Koninklijke Philips Electronics N.V. Double-loop motion-compensation fine granular scalability
JP2004515132A (ja) * 2000-11-23 2004-05-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法及び対応するエンコーダ
US6680973B2 (en) 2001-03-29 2004-01-20 Koninklijke Philips Electronics N.V. Scalable MPEG-2 video decoder with selective motion compensation
JP2003284064A (ja) * 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd 画像受信装置および画像表示制御方法
US7620109B2 (en) 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
JP2004088736A (ja) * 2002-06-28 2004-03-18 Matsushita Electric Ind Co Ltd 動画像の符号化方法、復号化方法、データストリーム、データ記録媒体およびプログラム
US7903742B2 (en) 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5936670A (en) * 1995-09-20 1999-08-10 U.S. Philips Corporation Method and device for decoding coded digital video signals

Also Published As

Publication number Publication date
CA2565645A1 (en) 2005-11-17
JP5226818B2 (ja) 2013-07-03
EP1747677A2 (en) 2007-01-31
CA2565645C (en) 2012-08-07
JP2007536807A (ja) 2007-12-13
JP2011155671A (ja) 2011-08-11
AR049166A1 (es) 2006-07-05
WO2005109896A3 (en) 2006-05-18
US20050265450A1 (en) 2005-12-01
US8320464B2 (en) 2012-11-27
JP4805915B2 (ja) 2011-11-02
KR20070007380A (ko) 2007-01-15
CN1981531A (zh) 2007-06-13
TW200607354A (en) 2006-02-16
WO2005109896A2 (en) 2005-11-17
TWI378729B (en) 2012-12-01
CN1981531B (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
KR100881037B1 (ko) 시간적 확장성을 위한 양방향 예측 프레임을 구성하는 방법 및 장치
US8085846B2 (en) Method and apparatus for decoding hybrid intra-inter coded blocks
US8085845B2 (en) Method and apparatus for encoding hybrid intra-inter coded blocks
JP6640751B2 (ja) ブロックベクトル導出を用いるイントラブロックコピー符号化のための方法およびシステム
KR100950273B1 (ko) 2계층 인코딩 및 단일 계층 디코딩을 이용한 스케일러블비디오 코딩
US7991053B2 (en) Method and apparatus to enable acquisition of media in streaming applications
EP2684356B1 (en) MOTION VECTOR PREDICTORS (MVPs) FOR BI-PREDICTIVE INTER MODE IN VIDEO CODING
JP5069099B2 (ja) 時間スケーラビリティを可能にするハイブリッド映像圧縮におけるフレーム予測のための方法および装置
US9467659B2 (en) Method and apparatus for progressive channel switching
KR20230150284A (ko) 효율적인 비디오 인코더 아키텍처
JP2012239193A (ja) 多層ビデオ符号化
CN111937389B (zh) 用于视频编解码的设备和方法
US12075070B2 (en) Encoder, decoder, encoding method, decoding method, and medium
HK1103896A (en) Method and apparatus to construct bi-directional predicted frames for temporal scalability
Yang et al. Video coding: Death is not near

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20180123

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20180123