KR101316503B1 - 듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법 - Google Patents

듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법 Download PDF

Info

Publication number
KR101316503B1
KR101316503B1 KR1020100009658A KR20100009658A KR101316503B1 KR 101316503 B1 KR101316503 B1 KR 101316503B1 KR 1020100009658 A KR1020100009658 A KR 1020100009658A KR 20100009658 A KR20100009658 A KR 20100009658A KR 101316503 B1 KR101316503 B1 KR 101316503B1
Authority
KR
South Korea
Prior art keywords
prediction
encoding
type
prediction mode
level
Prior art date
Application number
KR1020100009658A
Other languages
English (en)
Other versions
KR20100089039A (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 KR20100089039A publication Critical patent/KR20100089039A/ko
Application granted granted Critical
Publication of KR101316503B1 publication Critical patent/KR101316503B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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)

Abstract

다중 레벨 예측 모드 인코딩 유형 결정 방법들 및 시스템들이 제공된다. 일 실시예에서, 예측 모드 레벨의 지시를 수신하고 상기 예측 모드 레벨에 따라 인코딩이 수행된다. 상기 예측 모드 레벨의 지시는 프로그램가능하고 상이한 레벨들에서 설정될 수 있다. 예측 모드 레벨은 프로그램가능한 인코딩 유형 결정 시점(예를 들어, 초기, 중간, 후기, 등)과 연관될 수 있다. 인코딩 프로세스는 I-유형 또는 P-유형 인코딩인지에 따른 결정을 포함한다. 일 실시예에서, 다중 스테이지 인코딩 유형 방법은 또한 인트라-예측 관련 검색 및 인터-예측 관련 검색으로 구현되고, 각각의 대응하는 예측 동작들이 수행되며, 인트라-예측 관련 검색 및 인터-예측 관련 검색의 적어도 일부는 병렬로 수행된다.

Description

듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법{DUAL STAGE INTRA-PREDICTION VIDEO ENCODING SYSTEM AND METHOD}
본 발명은 그래픽 인코딩 분야에 관한 것이다.
전자 시스템들 및 회로들은 현대 사회의 진보를 위해 커다란 기여를 해왔으며, 이로운 결과들을 달성하기 위해 여러 가지 응용들에서 이용되고 있다. 디지털 컴퓨터들, 계산기들, 오디오 장치들, 비디오 장비 및 전화 시스템들과 같은 다양한 전자 기술들은 비지니스, 과학, 교육 및 엔터테인먼트의 대부분의 영역에서 데이터, 아이디어 및 트렌드를 분석 및 통신하는데 있어 생산성의 증가 및 비용 감소를 용이하게 한다. 빈번하게, 이들 활동들은 비디오 인코딩 및 디코딩을 포함한다. 그러나, 인코딩 및 디코딩은 가치있는 리소스들을 점유하고 시간을 소모하는 복잡한 처리를 포함할 수 있다.
디지털 매체의 계속되는 확산은 비디오 콘텐츠 전파의 확산을 초래하였다. 통상적으로, 비디오 콘텐츠는 저장 및 통신에 있어 상대적으로 비용이 많이 소요되는 많은 양의 데이터를 포함한다. 때때로, 인코딩 및 디코딩 기법들은 정보를 압축하려는 시도에 이용된다. 그러나, 인코딩 및 디코딩 기법들에 의해 보다 높은 압축율이 시도될수록, 소정의 정보의 손실이 증가하는 것이 전형적이다. 압축시에 너무 많은 정보가 "손실"된다면, 비디오 프리젠테이션의 품질 및 사용자 경험이 악화된다.
H.264 압축과 같은 비디오 압축 기법들은 시간 및 공간 예측을 때때로 이용하여 미처리(raw) 비디오 스트림들을 압축한다. 전형적인 압축 엔진은 인트라(intra) 예측 모듈, 움직임 예측 모듈, 변환 모듈 및 엔트로피(entropy) 코딩 모듈을 포함할 수 있다. 베이스라인 프로파일 4:2:0 비디오의 경우, 매크로블록은 16×16 픽셀 루마(luma) 블록 및 2개의 8×8 픽셀 크로마(chroma) 블록들을 포함하는 것으로서 정의된다. H.264 비디오 코딩에서, 각각의 매크로블록은 인트라-예측(I) 매크로블록으로서, 또는 인터-예측(P) 매크로블록으로서 코딩될 수 있다. 통상적으로, 인코딩된 비트스트림에서의 대부분의 매크로블록들은 P-유형 매크로블록들이며, 따라서, I-유형 매크로블록으로서 매크로블록의 비용을 계산하는 것은, 컴퓨팅 리소스들의 관점에서 비용이 매우 많이 소요된다.
다중-레벨 예측 모드 인코딩 유형 판정 방법들 및 시스템들이 제공된다. 일 실시예에서, 예측 모드 레벨의 지시(indication)가 수신되고, 상기 예측 모드 레벨에 따라 인코딩이 수행된다. 상기 예측 모드 레벨의 지시는 프로그램가능하며, 상이한 레벨들로 설정될 수 있다. 예측 모드 레벨은 프로그램가능한 인코딩 유형 결정 시점(예를 들면, 초기(early), 중간(intermediate), 후기(late) 등)와 관련될 수 있다. 인코딩 프로세스는 I-유형 또는 P-유형 인코딩시의 결정을 포함한다. 일 실시예에서, 인트라-예측 관련 검색 및 인터-예측 관련 검색이 병렬로 수행되는 다중-스테이지 인코딩 유형 방법이 또한 구현된다.
본 명세서에 통합되어 그 일부를 형성하는 첨부 도면은, 본 발명의 원리들의 예시를 위해 포함되며, 본 발명을 예시된 특정 구현들로 제한하도록 의도되지 않는다. 도면들은 특별히 지시되지 않는 한, 실제 축적으로 도시되지 않는다.
도 1은 본 발명의 일 실시예에 따른 예시적인 인코딩 아키텍처의 블록도.
도 2는 본 발명의 일 실시예에 따른, 인코딩이 구현될 수 있는 예시적인 컴퓨터 시스템의 블록도.
도 3은 본 발명의 일 실시예에 따른, 인코딩이 구현될 수 있는 인코더 시스템(300)의 블록도.
도 4는 본 발명의 일 실시예에 따른 듀얼 페이즈 매크로블록 결정 및 코딩 프로세스를 도시하는 도면.
도 5a는 본 발명의 일 실시예에 따른 예시적인 다중-레벨 예측 모드 인코딩 유형 결정 방법의 흐름도.
도 5b는 본 발명의 일 실시예에 따른 예시적인 유연한 인코딩 유형 판정 프로세스의 흐름도.
도 6은 본 발명의 일 실시예에 따른 예시적인 인코딩 시스템(600)의 블록도.
도 7은 본 발명의 일 실시예에 따른 다중-스테이지 인코딩 유형 방법(700)의 흐름도.
도 8은 본 발명의 일 실시예에 따른, 예시적인 비디오 프로세서 또는 그래픽 프로세서를 포함하는 예시적인 아키텍처를 도시하는 도면.
도 9는 본 발명의 일 실시예에 따른 핸드헬드 디바이스의 예시적인 컴포턴트의 블록도.
이제, 본 발명의 바람직한 실시예들에 대한 상세한 참조가 행해질 것이며, 실시예의 예들이 첨부 도면들에 도시된다. 본 발명은 바람직한 실시예들과 함께 기술될 것이지만, 본 발명을 이들 실시예로 한정하도록 의도되지 않는다는 것을 이해할 것이다. 반대로, 본 발명은 첨부된 특허청구범위에 의해 정의된 본 발명의 사상 및 영역 내에 포함될 수 있는 대안들, 변경들 및 등가물을 포함하는 것으로 의도된다. 더욱이, 본 발명에 대한 이하의 상세한 설명에서, 본 발명의 완전한 이해를 제공하기 위해 다수의 특정 상세 내용이 개시된다. 그러나, 당업자라면, 본 발명은 이들 특정 상세 내용 없이도 실시될 수 있음을 명백히 알 것이다. 다른 경우들에서, 잘 알려진 방법들, 프로시저들, 컴포넌트들 및 회로들은, 본 발명의 양태들을 불필요하게 모호하게 하지 않도록 상세히 기술되지 않았다.
이하의 상세한 설명의 일부 부분들은 컴퓨터 메모리 내의 데이터 비트들에 대한 동작의 프로시저들, 로직 블록들, 프로세싱 및 다른 심볼 표현들의 관점에서 제공된다. 이들 설명들 및 표현들은, 데이터 프로세싱 분야의 당업자가 그들의 작업을 다른 당업자에게 효과적으로 전달하기 위해 일반적으로 이용되는 수단이다. 프로시저, 로직 블록, 프로세스 등은, 여기서 그리고 일반적으로, 원하는 결과로 유도하는 단계들 또는 명령어들의 일관성 있는 시퀀스인 것으로 이해된다. 단계들은 물리량들의 물리적 조작들을 포함한다. 반드시 그러한 것은 아니지만, 보통, 이들 양들은 컴퓨터 시스템에서 저장되고, 전달되고, 결합되고, 비교되고, 달리 조작될 수 있는 전기, 자기, 광, 또는 양자 신호들의 형태를 취한다. 이들 신호들을 비트들, 값들, 요소들, 심볼들, 문자들, 항들, 수들 등으로서 지칭하는 것은 주로 공통 사용의 이유를 위해서 때때로 편리한 것으로 판명되었다.
그러나, 이들 및 유사한 용어들 전부는 적절한 물리량들과 연관되며 이들 양에 적용되는 단지 편리한 라벨에 불과하다는 것을 명심해야 한다. 다음의 논의로부터 명백한 바와 같이 특별히 달리 언급하지 않는 한, 본원 전체에 걸쳐서, "프로세싱하는", "컴퓨팅하는", "계산하는", "판정하는", "디스플레이하는", "액세스하는", "기록하는", "포함하는", "저장하는", "전송하는", "가로지르는", "연관하는", "식별하는" 등과 같은 용어들을 이용한 논의들은 물리적(예를 들어, 전자적) 양들로서 표현된 데이터를 조작하고 변환하는 컴퓨터 시스템, 또는 유사한 프로세싱 디바이스(예를 들어, 전기, 광, 또는 양자, 컴퓨팅 디바이스)의 작용 및 프로세스들을 지칭한다는 것을 알 것이다. 용어들은 컴퓨터 시스템의 컴포넌트(예를 들어, 레지스터들, 메모리들, 다른 이러한 정보 저장소, 전송 또는 디스플레이 디바이스들 등) 내의 물리적 양들을 다른 컴포넌트들 내의 물리적 양들로서 유사하게 표현된 다른 데이터로 조작 또는 변환하는 프로세싱 디바이스들의 작용들 및 프로세스들을 지칭한다.
이하의 상세한 설명의 부분들은 방법의 관점에서 제시되고 논의된다. 그의 시퀀싱 및 단계들은 이 방법의 동작들을 설명하는 본원 도면들에 개시되어 있지만, 이러한 단계들 및 시퀀싱은 예시적이다. 실시예들은 다양한 다른 단계들 또는 본원 도면의 흐름도에 기재된 단계들의 변형들을 본원에 도시되고 설명되는 것과 다른 시퀀스로 수행하기에 매우 적절하다.
상세한 설명의 일부 부분들은 컴퓨터 메모리 상에서 수행될 수 있는 데이터 비트들에 대한 연산들의 프로시저들, 단계들, 로직 블록들, 프로세싱, 및 다른 심볼 표현들의 관점에서 제시된다. 이들 설명들 및 표현들은 데이터 프로세싱 기술분야의 통상의 기술자에 의해 이 기술분야의 통상의 다른 기술자에 그들의 연구 내용을 가장 효과적으로 전달하는 데 이용되는 수단이다. 프로시저, 컴퓨터 실행 단계, 로직 블록, 프로세스 등은, 여기서 그리고 일반적으로, 원하는 결과로 유도하는 단계들 또는 명령어들의 일관성 있는 시퀀스인 것으로 이해된다. 단계들은 물리적 양들의 물리적 조작들을 요구하는 것이다. 보통, 반드시 그러한 것은 아니지만, 이들 양들은 컴퓨터 시스템에서 저장되고, 전달되고, 결합되고, 비교되고, 달리 조작될 수 있는 전기 또는 자기 신호들의 형태를 취한다. 이들 신호들을 비트들, 값들, 요소들, 기호들, 문자들, 항들, 수들 등으로서 지칭하는 것은 주로 공통 사용의 이유를 위해서 때때로 편리한 것으로 판명되었다.
그러나, 이들 및 유사한 용어들 전부는 적절한 물리량들과 연관되며 이들 양에 적용되는 단지 편리한 라벨에 불과하다는 것을 명심해야 한다. 다음의 논의로부터 명백한 바와 같이 특별히 달리 언급하지 않는 한, 본원 전체에 걸쳐서, "액세스하는", "기록하는", "포함하는", "저장하는", "전송하는", "가로지르는", "연관하는", "식별하는" 등과 같은 용어들을 이용한 논의들은 컴퓨터 시스템의 레지스터 및 메모리 내의 물리적(전자적) 양들로서 표현된 데이터를 컴퓨터 시스템의 메모리 또는 레지스터 또는 다른 이러한 정보 저장소, 전송 또는 디스플레이 디바이스 내의 물리적 양들로서 유사하게 표현된 다른 데이터로 조작하고 변환하는 컴퓨터 시스템, 또는 유사한 전자 컴퓨팅 디바이스의 작용 및 프로세스들을 지칭한다는 것을 알 것이다.
컴퓨팅 디바이스들은 통상적으로 컴퓨터 판독 가능한 매체의 적어도 일부 형태를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨팅 디바이스에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 한정하는 것이 아니라, 예를 들어, 컴퓨터 판독 가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능한 명령어들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 불휘발성, 탈착가능 및 탈착 불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD(digital versatile discs) 또는 다른 광 저장소, 자기 카세트들, 자기 테이프, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하는 데 이용될 수 있고 컴퓨팅 디바이스에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이것으로 한정되지 않는다. 통신 매체는 통상적으로 컴퓨터 판독 가능한 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 반송파 또는 다른 운송 메커니즘과 같이 변조된 데이터 신호들 내에 다른 데이터를 수록하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하는 방식으로 설정 또는 변경된 특성들 중 하나 이상을 갖는 신호를 의미한다. 한정이 아닌 예시적으로, 통신 매체는 유선 네트워크 또는 직접 유선(direct-wired) 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함한다. 전술한 것 중 임의의 것의 결합들이 또한 컴퓨터 판독 가능한 매체의 범주 내에 포함되어야 한다.
일부 실시예들은 하나 이상의 컴퓨터 또는 다른 디바이스들에 의해 실행되는 프로그램 모듈들과 같은 컴퓨터 실행 가능한 명령어들의 일반적인 문맥에서 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정 태스크들을 수행하거나 특정 추상 데이터 유형들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능은 다양한 실시예들에서 필요에 따라 결합 또는 분산될 수 있다.
본원에 설명된 실시예들은 컴퓨터 시스템의 별개의 컴포넌트들로서 CPU 및 GPU를 참조할 수 있지만, 본 기술분야의 당업자는 CPU 및 GPU가 단일 디바이스 내로 집적될 수 있고, CPU 및 GPU가 명령어 로직, 버퍼들, 기능 유닛들 등과 같은 다양한 리소스들을 공유할 수 있거나, 별개의 리소스들이 그래픽 및 범용 연산을 위해 제공될 수 있다는 것을 인식할 것이다. 따라서, GPU와 연관되는 것으로서 본원에 설명된 회로들 및/또는 기능 중 임의의 것 또는 전부는 적절하게 구성된 CPU 내에 구현되어 수행될 수 있다.
또한, 본원에 설명된 실시예들은 GPU를 참조할 수 있지만, 본원에 설명된 회로들 및/또는 기능이 또한 범용 또는 다른 특수 코프로세서들과 같은 다른 유형의 프로세서들에, 또는 CPU 내에 구현될 수 있다는 것을 이해해야 한다.
본 발명은 효율적인 유효한 비디오 압축을 용이하게 한다. 본 발명의 일 실시예에서, 매크로 블록 유형의 결정은 I 또는 P-유형 예측으로 매크로 블록을 코딩하는 비용을 평가함으로써 행해진다. 각각의 매크로 블록에 대해 결정이 행해진다. 각각의 I-유형 매크로 블록의 비용을 판정하는 것은, 비교적 리소스 집약적이며, 성능에 영향을 줄 수 있으나, 각각의 매크로 블록들의 인트라 비용을 판정하는 것은 더 나은 매크로 블록 유형 판정들을 용이하게 하며, 결과적인 인코딩된 비트스트림의 품질을 향상시킨다. 본 시스템들 및 방법들은 인코딩에 있어 성능과 품질의 유연성 있고 효율적인 밸런싱을 용이하게 한다. 본 시스템들 및 방법들은 예측 관련 비용들을 판정하고 예측 유형 결정을 함에 있어서 이용되는 리소스의 양의 프로그램가능한 선택을 허용한다.
일 실시예에서, 인트라-예측 및 연산은 소비되는 연산상의 복잡성의 양 및 최종 압축된 비트스트림의 품질에 대한 제어가 존재하도록 2개의 프로그램가능한 페이즈(phase)들로 쪼개어진다. 낮은 계산상의 복잡성이 선택되고, 프로세싱될 수 있는 더 많은 매크로 블록들로 옮겨져서, 고정된 양의 데이터를 인코딩하기 위해 더 큰 프레임 사이즈들 또는 더 높은 프레임 레이트들로, 또는 더 낮은 파워 이용으로 이끌 수 있다. 마찬가지로, 더 높은 품질을 요구하는 애플리케이션들에 대해서는 높은 연산 복잡성이 선택될 수 있다. 이러한 유연한 방식에 의해, 각각의 페이즈에서 행해진 작업을 설정함으로써, 연산 복잡성에 대한 미세 제어가 가능하다. 하나의 예시적인 구현에서, 몇몇 인트라-예측 및 인터-예측 동작들이 동시에 개시되고 병렬로 수행된다.
도 1은 본 발명의 일 실시예에 따른 예시적인 인코딩 아키텍쳐(100)의 블록도이다. 인코딩 아키텍쳐(100)는 인코딩 시스템(110) 및 원격 디코더(150)를 포함한다. 인코딩 시스템(110)은 현재 프레임들(예를 들어, 현재 프레임들(104 및 105))을 수신하고, 현재 프레임들을 인코딩한 후 인코딩된 현재 프레임들(예를 들어, 현재 프레임들(101, 102 및 103)을 원격 디코더(150)에 전송한다. 인코딩 시스템(100)은 인코더(120), 재구성 디코더(140) 및 메모리(130)를 포함한다. 인코더(120)는 프레임들을 인코딩하여 그들을 원격 디코더(150) 및 재구성 디코더(140)에 전송한다. 재구성 디코더(140)는 프레임들을 디코딩하여 그들을 재구성된 프레임들(131, 132 및 133)로서 저장하기 위해 메모리(130)에 전송한다. 하나의 예시적인 구현에서, 재구성된 프레임들(131, 132 및 133)은 현재 프레임들(101, 102 및 103)에 대응한다.
도 2는 본 발명의 실시예들이 구현될 수 있는 컴퓨터 시스템의 일 실시예인 예시적인 컴퓨터 시스템(200)의 블록도이다. 컴퓨터 시스템(200)은 중앙 프로세서 유닛(201), 메인 메모리(202)(예를 들어, 랜덤 액세스 메모리), 노스 브리지(north bridge)(209) 및 사우스 브리지(south bridge)(205)를 갖는 칩셋(203), 탈착가능한 데이터 저장 디바이스(204), 입력 디바이스(207), 신호 통신 포트(208), 및 디스플레이(220)에 결합된 그래픽 서브시스템(210)을 포함한다. 컴퓨터 시스템(200)은 컴퓨터 시스템(200)의 컴포넌트들을 통신가능하게 결합하기 위한 여러 버스들을 포함한다. 통신 버스(291)(예를 들어, 프런트 사이드 버스)는 칩셋(203)의 노스 브리지(209)를 중앙 프로세서 유닛(201)에 결합한다. 통신 버스(292)(예를 들어, 메인 메모리 버스)는 칩셋(203)의 노스 브리지(209)를 메인 메모리(202)에 결합한다. 통신 버스(293)(예를 들어, 어드밴스드 그래픽 포트(Advanced Graphic Port) 인터페이스)는 칩셋(203)의 노스 브리지를 그래픽 서브시스템(210)에 결합한다. 통신 버스들(294, 295 및 297)(예를 들어, PCI 버스)는 칩셋(203)의 사우스 브리지(205)를 탈착가능한 데이터 저장 디바이스(204), 입력 디바이스(207), 신호 통신 포트(208)에 각각 결합한다. 그래픽 서브시스템(210)은 그래픽 프로세서(211) 및 프레임 버퍼(215)를 포함한다.
컴퓨터 시스템(200)의 컴포넌트들은 다양한 기능 및 성능을 제공하도록 협력하여 동작한다. 하나의 예시적인 구현에서, 컴퓨터 시스템(200)의 컴포넌트들은, 컴퓨터 시스템(200)에 포함된 기능 컴포넌트들 중 일부가 결함이 있더라도, 미리 결정된 유형들의 기능을 제공하도록 협력하여 동작한다. 통신 버스(291, 292, 293, 294, 295 및 297)는 정보를 전달한다. 중앙 프로세서 유닛(201)은 정보를 처리한다. 메인 메모리(202)는 중앙 프로세서 유닛(201)을 위한 정보 및 명령어들을 저장한다. 탈착가능한 데이터 저장 디바이스(204)는 또한 정보 및 명령어들을 저장한다(예를 들어, 대형 정보 저장소로서 기능함). 입력 디바이스(207)는 정보를 입력하고 및/또는 디스플레이(220) 상에서 정보를 가리키거나 강조하기 위한 메커니즘을 제공한다. 신호 통신 포트(208)는 외부 디바이스들에 대한 통신 인터페이스(예를 들어, 네트워크와의 인터페이스)를 제공한다. 디스플레이 디바이스(220)는 프레임 버퍼(215) 내에 저장된 데이터에 따라 정보를 디스플레이한다. 그래픽 프로세서(211)는 중앙 프로세서 유닛(201)으로부터의 그래픽 커맨드들을 처리하고 디스플레이 모니터(220)에 의한 검색 및 저장을 위해 결과 데이터를 프레임 버퍼(215)에 제공한다.
이제 도 3을 참조하여, 본 발명의 일 실시예에 따른 양자화 인코더 시스템(300)의 블록도가 도시된다. 양자화 인코더 시스템(300)은 움직임 검색 엔진(310), 움직임 보상 모듈(321), 변환 모듈(322), 양자화 모듈(323), 양자화 계수 버퍼 모듈(324), 역 양자화 모듈(326), 역 변환 모듈(327), 재구성/블록해제(deblock) 모듈(328), 엔트로피(entropy) 인코더(330)를 포함한다. 움직임 검색 엔진(310)은 재구성/블록해제 모듈(328) 및 움직임 보상 모듈(321)에 통신가능하게 결합되고, 움직임 보상 모듈(321)은 변환 모듈(322)에 통신가능하게 결합되고, 변환 모듈은 다시 양자화 모듈(323)에 통신가능하게 결합된다. 양자화 모듈(323)은 양자화 계수 버퍼 모듈(324) 및 역 양자화 모듈(326)에 통신가능하게 결합되고, 역 양자화 모듈(326)은 역 변환 모듈(327)에 통신가능하게 결합되고, 역 변환 모듈은 다시 재구성/블록해제 모듈(328)에 통신가능하게 결합된다.
양자화 인코더 시스템(300)의 컴포넌트들은 압축 비율들의 증가가 용이하도록 협력하여 동작한다. 움직임 검색 모듈(310)은 미처리 비디오 데이터(예를 들어, 픽쳐 데이터, 프레임 데이터 등)의 입력 비트 스트림을 수신하고 그것을 때때로 16×16 픽셀들의 매크로블록들로 처리하며, 처리된 정보는 움직임 보상 모듈(321)에 전송된다. 일 실시예에서, 움직임 검색 모듈(310)에 의한 처리는 프레임 기반으로 픽쳐 또는 프레임 상의 미처리 비디오 데이터를 재구성/블록해제 모듈(328)로부터 수신된 재구성된 픽쳐 또는 프레임 데이터와 비교하여 "이미지 움직임" 지시들을 검출한다. 변환 엔진(322)은 움직임 보상된 정보를 수신하고 추가 동작들(예를 들어, 이산 코사인 변환 등)을 수행하고, 데이터(예를 들어, 변환된 계수들 등)를 양자화 모듈(323)에 출력한다. 양자화 모듈(323)은 수신된 정보의 양자화를 수행하고 양자화 결과들은 양자화 계수 버퍼(324) 및 역 양자화 모듈(326)에 전송된다. 양자화 버퍼(324)와 같은 버퍼들은 정보를 버퍼링하거나 일시 저장하고 각종 인코딩 단계들에서 일부 독립적이고 동시적인 동작들을 용이하게 함으로써 효율성을 증가시키기 위해 사용될 수 있다. 예를 들어, 양자화 계수 버퍼(324)는 양자화 모듈(323)의 결과들을 저장한다. 엔트로피 인코더(330)는 양자화 버퍼(324)로부터 데이터를 취하여 인코딩된 비트스트림을 출력한다. 역 양자화 모듈(326), 역 변환 모듈(327) 및 재구성/블록해제 모듈(328)을 포함하는 재구성 파이프는 지시된 동작들을 프레임 또는 픽쳐와 연관된 재구성된 비트 스트림을 생성할 때 수행한다. 일 실시예에서, 후처리 양자화를 이용하여 결과들을 개선한다. 하나의 예시적인 구현은 "후처리 인코딩 시스템 및 방법"이라는 제목의, 공동 계류중인 출원 번호 제____________호(대리인 참조 번호 NVID-P003716)에 기재된 후처리 양자화를 이용한다.
도 4는 본 발명의 일 실시예에 따른 듀얼 페이즈 매크로블록 판정 및 인코딩 프로세스를 도시하는 도면이다. 일 실시예에서, 각종 예측 모드 레벨들은 프로그램가능하다. 예측 모드 레벨의 프로그램가능성은 특정 목적 또는 응용에 기초한 리소스 이용과 품질의 밸런싱을 가능하게 한다. 하나의 예시적인 구현에서, 예측 모드 레벨은 I/P-유형 결정 시점 선택에 대응하고 I/P-유형 결정 시점은 프로그램가능하다. 예를 들어, 결정 시점의 프로그램가능성은 I/P-유형 결정이 예비 데이터, 비교적 광범위한 데이터 또는 그 사이의 어딘가에 기초하여 이루어지게 할 수 있다. 하나의 예시적인 구현에서, I/P-유형 결정은 예비 데이터가 이용가능한 경우에는 프로세스 초기에 행해질 수 있고, 또는 광범위한 데이터가 이용가능한 경우에는 프로세스 후기에 이루어질 수 있고, 최적의 결정이 이루어질 수 있으며, 또는 중간 데이터량 및 초기 지정과 후기 지정 사이의 어디엔가에 기초하여 I/P-유형 결정이 이루어질 수 있다. I/P-유형 결정 시점의 선택은 제1 페이즈와 제2 페이즈 사이의 경계를 정의한다.
일 실시예에서, 제1 페이즈와 제2 페이즈에서 수행되는 연산들은 I/P-유형 결정 시점의 프로그래밍에 의존한다. 하나의 예시적인 구현에서, I/P 유형 결정 시점의 프로그래밍 선택은 비용 판정의 복잡성과 연관된다. 일 실시예에서, 큰 매크로블록 비용 복잡성, 부분 서브-매크로블록 비용 복잡성 및 완전한 서브-매크로블록 비용 복잡성을 포함하는 3가지 레벨의 비용 복잡성이 있다. 예를 들어, 매크로블록이 4×4 픽셀 서브-블록들을 갖는 16×16 픽셀 매크로블록이면, 큰 매크로블록 비용 복잡성은 16×16 비용들을 판정하는 것을 포함하고, 부분 서브-매크로블록 비용 복잡성은 4×4 비용들 중 일부를 판정하는 것을 포함하고, 완전한 서브 매크로블록 비용 복잡성은 4×4 비용들 모두를 판정하는 것을 포함한다. 하나의 예시적인 구현에서, 큰 매크로블록 비용 복잡도는 리소스 보존을 고려하고 초기의 I/P-유형 결정에 이용되며, 부분 서브 매크로블록 비용 복잡도는 리소스 및 품질 보존의 혼합을 고려하고 중간의 I/P-유형 결정에 이용되며, 완전한 서브 매크로블록 비용 복잡도는 품질이 최대화되는 것으로 고려되며, 후기의 결정에 이용된다.
제1 페이즈가 종료하고 제2 페이즈가 시간 t1, t2 또는 t3에서 시작할 수 있다. I/P-유형 결정 시점(401)의 선택은 시간 t1에 대응하고, I/P-유형 결정 시점(402)의 선택은 시각 t2에 대응하며, I/P-유형 결정 시점(403)의 선택은 시간 t3에 대응한다. 제1 페이즈 동작(411)에서, 결정 시점(401)까지 16×16 인트라 비용을 연산하고 16×16 인트라 비용과 전체 인터 비용에 기초하여 I/P-유형 결정을 행한다. 매크로블록 모드가 인트라로 결정되면, 제2 페이즈 동작(412)에서, 추가의 계산을 행하여 16×16 인트라 모드와 4×4 인트라 모드 사이에서 위너(winner)를 판정한다. 매크로블록 모드가 인터(P)로 판정되면, 제2 페이즈 동작(412)에서는 예측만을 행한다. I/P-유형 결정 시점(401)의 선택은 인트라 비용 판정에 최소의 연산 복잡도를 제공한다.
제1 페이즈 동작(421)에서, 결정 시점(402)까지 그 제1 페이즈에서 16×16 모드 인트라 비용 계산들과 일부 4×4 모드 인트라 비용 연산들을 둘다 행한다. 동작(421)의 하나의 예시적인 구현에서, 제1 페이즈에서 총 9개의 가능한 모드들 중에서 소수의 4×4 모드들을 연산한다. 제1 페이즈 동작(431)에서, 결정 시점(403)까지 16×16 모드 인트라 비용 계산과 모든 4×4 모드 인트라 비용 계산을 둘다 행한다. 이것은 제2 페이즈 동작(432)에서 실제 예측을 행한다는 것을 의미한다. 결정 시점(403)의 선택은 가장 연산 집약적인 결정을 수반한다. 결정 시점(402)의 선택은 결정 시점(401, 403)의 두 극단 사이에서 연산 복잡도의 유연성의 가변 스케일을 제공한다. 매크로블록이 인트라로 결정되면, 모든 4×4 모드들을 더욱 정확하게 재연산한다. 그 시간의 대부분은 매크로블록 유형이 인터(P)이므로, 4×4 모드들을 연산하는 것은 거의 품질의 저하없이 부분적으로 많은 연산을 덜어 준다.
다음의 표는 제1 페이즈 IP1과 제2 페이즈 IP2의 내용과 3개의 결정 시점들을 보여준다.
I/P 결정 시점 IP1 IP2
1. 초기의 I/P 결정 16×16 인트라 비용 연산 4×4 비용 연산(인트라인 경우)
I/P 결정에 기초하여 예측
2. 중간의 I/P 결정 16×16 인트라 비용 연산 모든 4×4 비용들을 재연산(인트라인 경우)
일부 4×4 인트라 비용 연산 I/P 결정에 기초하여 예측
3. 후기의 I/P 결정 16×16 인트라 비용 연산 I/P 결정에 기초하여 예측
4×4 인트라 비용 연산
일 실시예에서, 인트라-예측 비용 판정을 시작할 때 인터-예측 비용 판정을 시작한다. 하나의 예시적인 구현에서, 제1 페이즈에서 인터 비용 연산을 전부 행한다. 제1 페이즈에서는 예측을 위해 가능한 모드들을 검색하고 I-유형 예측 및 P-유형 예측을 행하는 비용을 연산한다. 이들 비용을 비교하여 I-유형 또는 P-유형을 매크로블록 모드 위너로 판정한다. 일 실시예에서, 결정 시점의 프로그램가능성은 후속 인트라 비용 결정들에 영향을 미친다. 제2 페이즈에서, 매크로블록 모드가 인트라이면, 더욱 상세한 분석을 행하여 최종 모드 위너를 판정한다. 예컨대, 최종 매크로블록 인트라 모드는 4×4 또는 16×16 모드일 수 있다. 제2 페이즈에서는 선택한 방법을 이용하여 실제 예측을 행하고 추가로 프로세싱 파이프라인을 따라 이용할 데이터를 처리한다.
각종 예측 모드 레벨의 유연한 선택 또는 I/P-유형 결정들 및 예측들의 조정들은 사용자 프로그래밍에 기초할 수 있다. 사용자는 어떤 인트라-예측 모드들(예컨대, 16×16, 4×4 등)를 비트스트림에 이용할 수 있는지, 그리고 I/P-유형 결정 시점의 위치를 프로그래밍할 수 있다. 하나의 예시적인 구현에서, 제1 페이즈는 이용가능한 16×16 모드들에서 시작하여 16×16 계산 후에 제2 페이즈로 진행한다.
도 5a는 본 발명의 일 실시예에 따른 예시적인 다중 레벨 예측 모드 인코딩 유형 결정 방법(500)의 흐름도이다.
동작(501)에서, 예측 모드 레벨의 지시를 수신한다. 일 실시예에서, 예측 모드 레벨의 지시는 프로그래밍 가능하다. 예측 모드 레벨의 지시는 사용자 입력, 어플리케이션 유형 등을 포함한, 각종 고려사항에 기초할 수 있다. 예측 모드 레벨은 프로그래밍 가능한 인코딩 유형 결정 시점과 연관될 수 있다. 하나의 예시적인 구현에서, 초기 예측 모드 레벨, 중간 예측 모드 레벨 및 후기 모드 레벨을 포함하는 3개의 예측 모드 레벨이 있다.
동작(502)에서, 예측 모드 레벨에 따라 인코딩 유형을 판정한다. 일 실시예에서, 인코딩 유형 판정은 유연한 인코딩 유형 판정 프로세스를 포함한다.
동작(503)에서, 동작(502)에서 판정된 인코딩 유형을 행한다. 하나의 예시적인 구현에서, 수신된 비디오 정보에 대하여 I-유형 또는 P-유형 인코딩을 행한다.
도 5b는 본 발명의 일 실시예에 따른 예시적인 유연한 인코딩 유형 판정 프로세스(550)의 흐름도이다. 일 실시예에서, 전체 매크로블록 유형 예측은 16 픽셀 × 16 픽셀 매크로블록 인트라-예측 유형이고, 서브 매크로블록 유형 예측은 4 픽셀 × 4 픽셀 서브 블록 인트라-예측 유형이다.
동작(509)에서, I-유형 검색 및 예측 정보를 동작(511, 515 및 520)에 제공하고, 동작(510)에서, P-유형 검색 및 예측 정보를 동작(513, 517 및 521)에 제공한다.
동작(511)에서, 제1 레벨 인코딩 비용들의 연산을 포함하여 유효한 매크로블록 모드들을 처리한다. 일 실시예에서, 제1 레벨 인코딩 비용들은 큰 매크로블록 비용 복잡도에 대응한다. 예컨대, 어플리케이션이 16×16 매크로블록들을 수반하면, 16×16 매크로블록에 대하여 제1 레벨 인코딩 비용을 연산한다.
동작(512)에서, 수신된 예측 모드 레벨의 지시가 제1 레벨 예측 모드 지시인지를 판정한다. 예측 모드 레벨의 지시가 제1 레벨 예측 모드 지시가 아니면, 프로세스는 동작(515)으로 진행한다. 예측 모드 레벨의 지시가 제1 레벨 예측 모드 지시이면, 프로세스는 동작(513)으로 진행한다.
동작(513)에서, 제1 레벨 인코딩 비용들에 기초하여 매크로블록에 대하여 I-유형 인코딩을 행할지 P-유형 인코딩을 행할지를 결정한다. P-유형 인코딩을 행하는 것으로 결정되면, 프로세스는 동작(524)으로 진행한다. I-유형 인코딩을 행하는 것으로 판정되면, 프로세스는 동작(514)으로 진행한다.
동작(514)에서, 유효한 4×4 모드들에 대한 프로세싱을 행하고 비용을 연산한다. 동작(514)이 완료되면, 프로세스는 동작(519)으로 건너뛴다.
동작(516)에서, 수신된 예측 모드 레벨의 지시가 제2 레벨 예측 모드 지시인지에 대한 판정이 행해진다. 예측 모드 레벨의 지시가 제2 레벨 예측 모드 지시가 아니면, 프로세스는 동작(520)으로 진행한다. 예측 모드 레벨의 지시가 제2 레벨 예측 모드 지시이면, 프로세스는 동작(515)으로 진행한다.
유효한 매크로블록 모드들의 부분 서브세트는, 제2 레벨 인코딩 비용들을 연산하는 것을 포함하여, 동작(515)에서 처리된다. 일 실시예에서, 제2 레벨 인코딩 비용들은 중간 매크로블록 비용 복잡성에 대응한다. 예를 들어, 어플리케이션이 16×16 매크로블록 및 4×4 서브-블록들을 포함하면, 제2 레벨 인코딩 비용들은 4×4 서브-블록들의 일부에 대하여 계산된다.
동작(517)에서, 제2 레벨 인코딩 비용들에 기초하여 매크로블록의 I-유형 인코딩 또는 P-유형 인코딩을 행할지에 대한 결정이 행해진다. 결정이 P-유형 인코딩을 행하는 것이면, 프로세스는 동작(524)으로 진행한다. 결정이 I-유형 인코딩을 행하는 것이면, 프로세스는 동작(518)으로 진행한다.
동작(518)에서, 모든 유효한 4×4 모드들에 대한 프로세싱이 수행되고 모든 비용들이 재연산된다. 프로세스는 동작(519)으로 진행한다.
동작(519)에서, 전체(예컨대, 16×16 등) 매크로블록 유형 예측 또는 서브(예컨대, 4×4 등) 매크로블록 유형 예측을 행할지에 대한 판정이 행해진다. 일 실시예에서, 예측 정보는 다시 생성되어 결정에서 이용된다. 프로세스는 동작(523)으로 점프한다.
모든 유효한 매크로블록 모드들이, 제3 레벨 인코딩 비용들을 계산하는 것을 포함하여, 동작(520)에서 처리된다. 일 실시예에서, 제3 레벨 인코딩 비용들은 작은 매크로블록 비용 복잡성에 대응한다. 예를 들어, 어플리케이션이 16×16 매크로블록들 및 4×4 서브블록들을 포함하면, 제3 레벨 인코딩 비용들은 모든 4×4 서브블록들에 대하여 재연산된다.
동작(521)에서, 수신된 예측 모드 레벨의 지시가 제1 레벨 예측 모드 지시이면 제1 레벨 인코딩 비용들에 기초하여 매크로블록의 I-유형 인코딩 또는 P-유형 인코딩을 행할지에 대한 결정이 이루어진다. 결정이 P-유형 인코딩을 행하는 것이면 프로세스는 동작(524)으로 진행한다. 결정이 I-유형 인코딩을 행하는 것이면 프로세스는 동작(523)으로 진행한다.
동작(523)에서, I-유형 매크로블록 프로세싱이 수행되고, 동작(524)에서, P-유형 매크로블록 프로세싱이 수행된다. 각각의 I-유형 매크로블록 또는 P-유형 매크로블록 처리가 완료되는 경우, 프로세스는 동작(525)으로 점프하고, 변환이 수행된다.
일 실시예에서, 일부 인코딩 동작들은 병렬로 수행될 수 있다. 도 6은 본 발명의 일 실시예에 따른 예시적인 인코딩 시스템(600)의 블록도이다. 인코딩 시스템(600)은 제1 스테이지(610), 제2 스테이지(620) 및 제3 스테이지(630)를 포함한다. 제1 스테이지(610)는 인터-예측 관련 검색을 수행하는 인터-예측 관련 검색(611), 인터-예측 비용들을 판정하는 예측 및 비용 모듈(612), 및 인터-예측 유형 인코딩 또는 인트라-예측(intra-prediction) 유형 인코딩에 대한 결정을 위한 I/P 결정 모듈(613)을 포함한다. 하나의 예시적인 구현에서, 인터-예측 관련 검색은 움직임(motion) 검색 유형이다. 제2 스테이지(620)는 인트라-예측 관련 검색을 수행하는 인트라 검색 모듈(621), 인트라-예측 비용들을 판정하는 예측 및 비용 모듈(622), 및 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩에 대한 상기 결정에 기초하여 변환을 수행하는 변환 모듈(623)을 포함한다. 제3 스테이지(630)는 잔여 인코딩 동작들을 수행한다.
인코딩 시스템(600)의 컴포넌트들은 조직화된(coordinated) 인코딩을 수행하기 위하여 협력적으로 동작한다. 제1 스테이지(610) 및 제2 스테이지(620)는 비디오 스트림을 수신한다. 제1 스테이지(610)의 동작들의 부분들은 제2 스테이지(620)와 병렬로 수행된다. 예를 들어, 인터 검색(611) 및 인트라 검색(621)은 비디오 스트림이 수신될 때 각각의 동작들을 병렬로 시작한다. 인트라-예측 비용들은, 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩에 대한 결정에 이용하기 위하여, 제2 스테이지(620)로부터 제1 스테이지(610)로 전달된다. I/P 결정의 결과들은 변환 모듈(623)로 공급된다. 변환 모듈(623)은 또한, 결정이 P-유형 인코딩을 수행하는 것이면 검색 및 예측 정보를 제1 스테이지(610)로부터 수신하고, 결정이 I-유형 인코딩을 수행하는 것이면 검색 및 예측 정보를 제2 스테이지(620)로부터 수신한다.
인코딩 시스템(600)은 다양한 아키텍쳐들에서 용이하게 구현된다는 것이 이해된다. 일 실시예에서, 제1 스테이지 및 제2 스테이지는 별개의 컴포넌트에서 수행된다. 예를 들어, 제1 스테이지 및 제2 스테이지는 그래픽 프로세서에서 수행될 수 있다. 일 실시예에서, 제1 스테이지는 제1 별개의 컴포넌트에서 수행되고 제2 스테이지는 제2 별개의 컴포넌트에서 수행된다. 예를 들어, 제1 스테이지는 중앙 프로세서에서 수행될 수 있고 제2 스테이지는 그래픽 프로세서에서 수행될 수 있다. 인코딩 시스템(600)은 또한 인터-예측 비용들, 인트라-예측 비용들을 판정하고, 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩을 결정하는데 있어서 다중 레벨 예측 모드 인코딩 유형 결정 프로세스(예컨대, 500 등)를 구현하기 위해 사용될 수 있다.
도 7은 본 발명의 일 실시예에 따른 다중 스테이지 인코딩 유형 방법(700)의 흐름도이다. 일 실시예에서, 인트라-예측 관련 검색들 및 인터-예측 관련 검색들은 완전 검색(exhaustive search)이다. 또한, 다중 스테이지 인코딩 유형 방법(700)은 전체 매크로블록 유형 예측 또는 서브 매크로블록 유형 예측을 행할지에 대한 결정에 기초하여 수행될 수 있다.
동작(710)에서, 인트라-예측 관련 검색 및 대응하는 예측이 수행되고, 인트라-예측 관련 검색의 적어도 일부는 인터-예측 관련 검색과 병렬로 수행된다.
동작(720)에서, 인터-예측 관련 검색 및 대응하는 예측이 수행되고, 인터-예측 관련 검색의 적어도 일부는 인트라-예측 관련 검색과 병렬로 수행된다.
동작(730)에서, 다중레벨 예측 모드 인코딩 유형 결정 프로세스가 수행된다. 유연한 인코딩 유형 판정 프로세스(예컨대, 550 등)가 다중 레벨 예측 모드 인코딩 유형 결정 프로세스를 수행하는데 사용될 수 있다는 것이 이해된다.
도 8은 본 발명의 일 실시예에 따른 예시적인 비디오 프로세서 또는 그래픽 프로세서를 통합하는 예시적인 아키텍쳐를 도시한다. 도 8에 도시된 바와 같이, 시스템(800)은 2개의 파워 도메인들(821 및 822)을 포함하는 프로그램가능한 SOC 집적회로 디바이스(810)를 구현한다. 파워 도메인(821)은 "항상 온"인 파워 아일랜드(831)를 포함한다. 파워 도메인(822)은 SOC의 코어로서 지칭되고 CPU 파워 아일랜드(832), GPU 파워 아일랜드(833), 논-파워 게이팅형(non-power gated) 기능 아일랜드(834), 및 비디오 프로세서의 인스턴스를 포함한다. 시스템 아키텍쳐(800)의 도 8 실시예는 배터리로 파워가 공급되는 핸드헬드 SOC 집적회로 디바이스의 특정 의도된 디바이스 기능들을 대상으로 한다. SOC(810)는 파워 관리 유닛(850)에 결합되고, 이어서 파워 관리 유닛(850)은 파워 셀(851)(예컨대, 하나 이상의 배러티)에 결합된다. 파워 관리 유닛(850)은 전용 파워 레일(861 및 862)을 통해 파워 도메인(821 및 822)에 각각 파워를 제공하기 위해 결합된다. 파워 관리 유닛(850)은 SOC(810)에 대한 전원으로서 기능한다. 파워 관리 유닛(850)은 파워 컨티셔닝 회로들, 전압 펌핑 회로들, 전류원 회로들 등을 포함하여, 파워 셀(851)로부터의 에너지를 레일들(861-862)에 대하여 요구되는 전압으로 변환한다.
도 8의 실시예에서, 비디오 프로세서는 도메인(822) 내에 존재한다. 비디오 프로세서는 이미지들 및 비디오를 인코딩하는 특화된 비디오 프로세싱 하드웨어를 제공한다. 전술한 바와 같이, 비디오 프로세서의 하드웨어 컴포넌트들은 실시간 비디오 인코딩을 수행하기 위해 특별하게 최적화된다. 도메인(821)의 항상 온 상태인 파워 아일랜드(831)는 슬립 모드로부터 SOC(810)를 웨이크 업(wake up)하기 위한 기능을 포함한다. 항상 온 상태인 도메인(821)의 컴포넌트들은 활성으로 유지될 것이며, 웨이크 업 신호를 대기한다. CPU 파워 아일랜드(832)는 도메인(822) 내에 존재한다. CPU 파워 아일랜드(832)는 보다 복잡한 소프트웨어 기반 기능을 실행하는 연산 하드웨어 리소스들을 SOC(810)에 제공한다. GPU 파워 아일랜드(833)는 또한 도메인(822) 내에 존재한다. GPU 파워 아일랜드(833)는 3-D 렌더링 기능들을 실행하기 위한 그래픽 프로세서 하드웨어 기능을 제공한다.
도 9는 본 발명의 일 실시예에 따른 핸드헬드 디바이스(900)의 컴포넌트들을 도시한다. 도 9에 도시되는 바와 같이, 핸드헬드 디바이스(900)는 도 8의 논의에서 전술된 시스템 아키텍처(800)을 포함한다. 핸드헬드 디바이스(900)는 디바이스(900)에 성능들 및 기능들을 부가하는 주변 디바이스들(901 내지 907)을 도시한다. 디바이스(900)가 주변 디바이스들(901 내지 907)을 갖는 것으로 도시되었으나, 모든 주변 디바이스들(901 내지 907)을 요구하지는 않는 디바이스(900)의 구현들이 존재할 수 있음을 유의해야 한다. 예를 들어, 디스플레이(들)(903)이 터치 스크린 디스플레이들인 실시예에서, 키보드(902)는 생략될 수 있다. 마찬가지로, 예를 들어, RF 송수신기는 휴대 전화기 또는 WiFi 성능을 요구하지 않는 이들 실시예들에 대해서 생략될 수 있다. 또한, 도시된 주변 디바이스들(901 내지 907) 이외에도 추가적인 기능들을 포함하기 위해 추가적인 주변 디바이스들이 디바이스(900)에 추가될 수 있다. 예를 들어, 하드 드라이브 또는 고체 상태 대용량 저장소 디바이스가 데이터 저장 등을 위해 추가될 수 있다.
RF 송수신기(901)는 양방향 휴대 전화 통신 및 RF 무선 모뎀 통신 기능들을 가능케 한다. 키보드(902)는 버튼 눌림, 포인터 조작, 스크롤 휠, 조그 다이얼, 터치 패드 등을 통해 사용자 입력을 받아들이기 위한 것이다. 하나 이상의 디스플레이들(903)은 이미지들, 그래픽 사용자 인터페이스들, 완전한 움직임 비디오, 텍스트 등을 통해 사용자에게 시각적인 출력을 제공하기 위한 것이다. 오디오 출력 컴포넌트(904)는 사용자에게 (예를 들어, 청취가능한 명령들, 휴대 전화 대화, MP3 곡 재생 등의) 오디오 출력을 제공하기 위한 것이다. GPS 컴포넌트(905)는 수신된 GPS 신호들을 통해 GPS 위치결정 서비스들을 제공한다. GPS 위치결정 서비스들은, 예를 들어, 네비게이션 어플리케이션들 및 위치 선정 어플리케이션들의 동작을 가능케한다. 탈착가능한 저장 주변 컴포넌트(906)는, 플래시 메모리, SD 카드들, 스마트 카드들 등과 같은 탈착가능한 저장 디바이스의 부착 및 분리를 가능케 한다. 이미지 캡처 컴포넌트(907)는 정지 이미지들 또는 완전한 움직임 비디오의 캡처를 가능케 한다. 핸드헬드 디바이스(900)는 셀룰러 통신 기술을 갖는 스마트 폰, PDA(personal digital assistant), 모바일 비디오 재생 디바이스, 모바일 오디오 재생 디바이스, 네비게이션 디바이스 또는 위의 모든 디바이스의 특성들 및 기능을 포함하는 결합된 기능 디바이스를 구현하는데 이용될 수 있다.
따라서, 본 발명은 리소스들의 유연하고도 통제된 이용을 용이하게 한다. 인코딩 파이프 동작들에 대하여 최소 지연 영향을 갖는 런 타임 속도로(예를 들어, 실시간 등으로) 압축이 수행될 수 있다. 또한, 동작들은 병렬로 수행될 수 있어서 반응성 및 효율성 증가를 용이하게 한다.
본 발명의 특정 실시예들의 전술한 설명들이 예시 및 설명의 목적을 위해 제시되었다. 이것들은 총망라된 것으로 의도되거나, 본 발명을 개시된 정확한 형태들로 한정하도록 의도되지 않으며, 전술한 교시의 관점에서 명백하게 다수의 변경들 및 변형들이 가능하다. 본 발명의 원리들 및 그 실제적 응용을 가장 잘 설명하기 위해 실시예들이 선택되고 설명되었으며, 이에 의해 본 기술분야의 당업자가, 의도된 특정 이용에 적절한 다양한 변경들을 이용하여 본 발명 및 다양한 실시예들을 가장 잘 이용하는 것을 가능케 한다. 본 발명의 범주는 여기에 첨부된 특허청구범위 및 그 등가물들에 의해서 정의되도록 의도된다. 방법 청구항들 내의 단계들의 나열은, 청구항에서 명시적으로 언급되지 않는 한, 그 단계들을 수행하기 위한 임의의 특정 순서를 의미하는 것은 아니다.
100: 인코딩 아키텍쳐
101~105: 현재 프레임
110: 인코딩 시스템
120: 인코더
130: 메모리
131~133: 재구성된 프레임
140: 재구성 디코더
150: 원격 디코더

Claims (20)

  1. 다중 레벨 예측 모드 인코딩 유형 결정 방법으로서,
    예측 모드 레벨의 지시(indication)를 수신하는 단계;
    상기 예측 모드 레벨에 따라 인코딩의 유형을 판정하는 단계; 및
    상기 유형의 인코딩을 수행하는 단계
    를 포함하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  2. 제1항에 있어서,
    상기 예측 모드 레벨의 상기 지시는 프로그램가능한 것인 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  3. 제1항에 있어서,
    상기 예측 모드 레벨의 상기 지시는 사용자 입력에 기초하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  4. 제1항에 있어서,
    상기 예측 모드 레벨의 상기 지시는 애플리케이션에 기초하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  5. 제1항에 있어서,
    상기 예측 모드 레벨은 프로그램가능한 인코딩 유형 결정 시점과 연관되어 있는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  6. 제1항에 있어서,
    초기 예측 모드 레벨, 중간 예측 모드 레벨 및 후기 예측 모드 레벨을 포함하는 3개의 예측 모드 레벨들이 존재하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  7. 제1항에 있어서,
    상기 판정하는 단계는,
    제1 레벨 인코딩 비용들을 연산하는 단계를 포함하여 유효한 매크로블록 모드들을 프로세싱하는 단계;
    상기 예측 모드 레벨의 상기 수신된 지시가 제1 레벨 예측 모드 지시인지를 판정하는 단계;
    상기 예측 모드 레벨의 상기 수신된 지시가 상기 제1 레벨 예측 모드 지시인 경우에 상기 제1 레벨 인코딩 비용들에 기초하여 상기 매크로블록의 I-유형 인코딩 또는 P-유형 인코딩을 수행하는 것을 결정하는 단계;
    제2 레벨 인코딩 비용들을 연산하는 것을 포함하여 상기 유효한 매크로블록 모드들의 부분 서브셋을 프로세싱하는 단계;
    상기 예측 모드 레벨의 상기 수신된 지시가 제2 레벨 예측 모드 지시인지를 판정하는 단계; 및
    상기 예측 모드 레벨의 상기 수신된 지시가 상기 제2 레벨 예측 모드 지시인 경우에 상기 제2 레벨 인코딩 비용들에 기초하여 상기 매크로블록의 I-유형 인코딩 또는 P-유형 인코딩을 수행하는 것을 결정하는 단계
    를 포함하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  8. 제1항에 있어서,
    전체 매크로블록 유형 예측을 행할지 또는 서브 매크로블록 유형 예측을 행할지를 판정하는 단계를 더 포함하는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  9. 제8항에 있어서,
    상기 전체 매크로블록 유형 예측은 16픽셀×16픽셀 매크로블록 인트라-예측 유형이고, 상기 서브 매크로블록 유형 예측은 4픽셀×4픽셀 매크로블록 인트라-예측 유형이며,
    큰 매크로블록 비용 복잡성, 부분 서브-매크로블록 비용 복잡성 및 완전한 서브-매크로 블록 비용 복잡성을 포함하는 3가지 비용 복잡성 레벨이 있는 다중 레벨 예측 모드 인코딩 유형 결정 방법.
  10. 다중 스테이지 인코딩 유형 시스템으로서,
    인터-예측 관련 검색을 수행하고, 인터-예측 비용들을 판정하고, 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩을 결정하기 위한 제1 스테이지; 및
    인트라-예측 관련 검색을 수행하고, 인트라-예측 비용들을 판정하고, 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩에 대한 상기 결정에 기초하여 변환을 수행하기 위한 제2 스테이지
    를 포함하고,
    상기 인트라-예측 비용들은 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩에 대한 상기 결정에서의 이용을 위해 상기 제2 스테이지로부터 상기 제1 스테이지로 전달되고, I/P 결정 시점의 프로그래밍 선택은 비용 판정의 복잡성과 연관되는 다중 스테이지 인코딩 유형 시스템.
  11. 제10항에 있어서,
    상기 제1 스테이지의 동작들의 부분들은 상기 제2 스테이지와 병렬로 수행되는 다중 스테이지 인코딩 유형 시스템.
  12. 제10항에 있어서,
    상기 제1 스테이지 및 상기 제2 스테이지는 비디오 스트림을 수신하는 다중 스테이지 인코딩 유형 시스템.
  13. 제10항에 있어서,
    상기 인터-예측 관련 검색은 움직임 검색 유형인 다중 스테이지 인코딩 유형 시스템.
  14. 제10항에 있어서,
    상기 제1 스테이지 및 상기 제2 스테이지는 별개의 컴포넌트에서 수행되는 다중 스테이지 인코딩 유형 시스템.
  15. 제10항에 있어서,
    상기 제1 스테이지는 제1 별개의 컴포넌트에서 수행되고 상기 제2 스테이지는 제2 별개의 컴포넌트에서 수행되는 다중 스테이지 인코딩 유형 시스템.
  16. 제10항에 있어서,
    상기 인터-예측 비용들 및 상기 인트라-예측 비용들을 판정하는 것 및 인터-예측 유형 인코딩 또는 인트라-예측 유형 인코딩에 대한 상기 결정 시에 다중 레벨 예측 모드 인코딩 유형 결정 프로세스가 이용되는 다중 스테이지 인코딩 유형 시스템.
  17. 다중 스테이지 인코딩 유형 방법으로서,
    인트라-예측 관련 검색 및 대응하는 예측을 수행하는 단계;
    인터-예측 관련 검색 및 대응하는 예측을 수행하는 단계; 및
    다중 레벨 예측 모드 인코딩 유형 결정 프로세스를 수행하는 단계
    를 포함하고,
    상기 인트라-예측 관련 검색 및 상기 인터-예측 관련 검색의 적어도 일부는 전자 시스템에서 병렬로 수행되는 다중 스테이지 인코딩 유형 방법.
  18. 제17항에 있어서,
    유연성있는 인코딩 유형 판정 프로세스가 상기 다중 레벨 예측 모드 인코딩 유형 결정 프로세스를 수행하는 단계에서 이용되는 다중 스테이지 인코딩 유형 방법.
  19. 제17항에 있어서,
    상기 인트라-예측 관련 검색 및 상기 인터-예측 관련 검색은 완전 검색(exhaustive search)들인 다중 스테이지 인코딩 유형 방법.
  20. 제17항에 있어서,
    전체 매크로블록 유형 예측을 행할지 또는 서브 매크로블록 유형 예측을 행할지를 판정하는 단계를 더 포함하는 다중 스테이지 인코딩 유형 방법.
KR1020100009658A 2009-02-02 2010-02-02 듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법 KR101316503B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/364,316 US9432674B2 (en) 2009-02-02 2009-02-02 Dual stage intra-prediction video encoding system and method
US12/364,316 2009-02-02

Publications (2)

Publication Number Publication Date
KR20100089039A KR20100089039A (ko) 2010-08-11
KR101316503B1 true KR101316503B1 (ko) 2013-10-10

Family

ID=42397707

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100009658A KR101316503B1 (ko) 2009-02-02 2010-02-02 듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법

Country Status (5)

Country Link
US (1) US9432674B2 (ko)
JP (1) JP5241743B2 (ko)
KR (1) KR101316503B1 (ko)
CN (1) CN101795408B (ko)
TW (1) TW201044881A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012038938A1 (en) 2010-09-24 2012-03-29 Nokia Corporation Methods, apparatuses and computer programs for video coding
JP2012099890A (ja) * 2010-10-29 2012-05-24 Sony Corp 画像処理装置、画像処理方法、および画像処理システム
EP3624451A1 (en) * 2011-06-17 2020-03-18 HFI Innovation Inc. Method and apparatus for coding of intra prediction mode
US10757437B2 (en) 2014-07-17 2020-08-25 Apple Inc. Motion estimation in block processing pipelines
US9762919B2 (en) 2014-08-28 2017-09-12 Apple Inc. Chroma cache architecture in block processing pipelines

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087729A (ko) * 2004-02-27 2005-08-31 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
KR20060027795A (ko) * 2003-05-20 2006-03-28 에이엠티 어드밴스트 멀티미디어 테그놀로지 에이비 하이브리드 비디오 압축 방법
KR20060090749A (ko) * 2005-02-10 2006-08-16 톰슨 라이센싱 인터 또는 인트라 모드에서 비디오 화상을 코딩하기 위한방법 및 디바이스
KR20080007760A (ko) * 2006-07-18 2008-01-23 연세대학교 산학협력단 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2600240A (en) * 1948-05-22 1952-06-10 Philadelphia Children Hospital Construction of incubators for infants
US3076451A (en) * 1959-05-12 1963-02-05 Air Shields Infant incubator
US3335713A (en) * 1963-11-05 1967-08-15 Air Shields Infant incubator
US4146885A (en) * 1977-10-13 1979-03-27 Lawson Jr William H Infant bed and apnea alarm
US4730604A (en) * 1987-03-16 1988-03-15 Boggs Randy S Arhythmic baby bed
US5317767A (en) * 1992-06-16 1994-06-07 Hargest Thomas S Sudden infant death syndrome prevention apparatus and method
JP3050736B2 (ja) 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
US5561876A (en) * 1995-01-23 1996-10-08 Petruzella; Steven A. Infant mattress
US6131216A (en) * 1997-03-28 2000-10-17 Pine; Macdonald Method and apparatus for removing heavy gases from infant cribs
US5887304A (en) * 1997-07-10 1999-03-30 Von Der Heyde; Christian P. Apparatus and method for preventing sudden infant death syndrome
US6025888A (en) 1997-11-03 2000-02-15 Lucent Technologies Inc. Method and apparatus for improved error recovery in video transmission over wireless channels
US6074340A (en) * 1998-01-23 2000-06-13 Sweeney; Stephen J. Incubator mattress tray with warming function
US6336237B1 (en) * 2000-05-11 2002-01-08 Halo Innovations, Inc. Mattress with conditioned airflow
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR100425676B1 (ko) 2001-03-15 2004-04-03 엘지전자 주식회사 비디오 전송 시스템의 에러 복구 방법
FR2828055B1 (fr) 2001-07-27 2003-11-28 Thomson Licensing Sa Procede et dispositif de codage d'une mosaique d'images
JP2003152752A (ja) 2001-08-29 2003-05-23 Matsushita Electric Ind Co Ltd データ送受信方法
EP2099228B1 (en) 2001-09-14 2014-11-12 NTT DoCoMo, Inc. Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program
US6651278B2 (en) * 2001-10-12 2003-11-25 Darlene Diak Ghanem Quick change bedsheet set
US7266254B2 (en) 2002-02-13 2007-09-04 Canon Kabushiki Kaisha Data processing apparatus, image processing apparatus, and method therefor
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
US7289672B2 (en) 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US20030235249A1 (en) 2002-06-25 2003-12-25 Chengji Zhao Video encoder and method for encoding video frames
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
US7003821B2 (en) * 2003-06-30 2006-02-28 Graco Children's Products Inc. Child containment structure with ventilation panel
KR101014660B1 (ko) 2003-10-24 2011-02-16 삼성전자주식회사 인트라 예측 방법 및 장치
EP1558039A1 (en) 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
CN1997587A (zh) * 2004-03-16 2007-07-11 马里奥·米歇尔·拉特勒 自通风且自冷却的可变几何形状枕头
US7366238B2 (en) 2004-05-07 2008-04-29 Micronas Usa, Inc. Noise filter for video processing
EP1605706A2 (en) 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
KR20060008523A (ko) 2004-07-21 2006-01-27 삼성전자주식회사 영상의 인트라 예측 방법 및 그 장치
JP4495580B2 (ja) 2004-12-13 2010-07-07 パナソニック株式会社 面内予測装置および面内予測方法
US7706442B2 (en) 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
JP2006295796A (ja) 2005-04-14 2006-10-26 Nec Electronics Corp 画像データ復号装置及び画像データ復号方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
GB0512901D0 (en) * 2005-06-24 2005-08-03 Harding Lynda J A device for supporting and rolling a mattress
JP2007013298A (ja) 2005-06-28 2007-01-18 Renesas Technology Corp 画像符号化装置
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
CA2610276C (en) 2005-07-22 2013-01-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
JP5089878B2 (ja) 2005-10-28 2012-12-05 パナソニック株式会社 画像符号化装置
JP2007208802A (ja) * 2006-02-03 2007-08-16 Victor Co Of Japan Ltd 画像符号化装置及び画像符号化方法
JP4677932B2 (ja) * 2006-03-06 2011-04-27 日本電気株式会社 動画像符号化方法及び動画像符号化装置とプログラムならびに媒体
JP4769605B2 (ja) 2006-03-17 2011-09-07 富士通株式会社 動画像符号装置及び方法
JP4771288B2 (ja) 2006-04-03 2011-09-14 富士ゼロックス株式会社 データ処理装置及びプログラム
US8396117B2 (en) * 2006-05-30 2013-03-12 Google Inc. Apparatus, arrangement, method and computer program product for digital video processing
TW200845758A (en) * 2007-05-03 2008-11-16 Nat Univ Chung Cheng Fast intra coding algorithms for dynamic definition adjustment
JP2008227670A (ja) 2007-03-09 2008-09-25 Victor Co Of Japan Ltd 画像符号化装置
US7953284B2 (en) 2007-03-29 2011-05-31 James Au Selective information handling for video processing
EP2163097A2 (en) * 2007-05-25 2010-03-17 Arc International, Plc Adaptive video encoding apparatus and methods
CN100594732C (zh) * 2007-11-16 2010-03-17 中国科学院计算技术研究所 一种帧间模式选择方法
US8165210B2 (en) * 2007-12-17 2012-04-24 Vixs Systems, Inc. Video codec with shared interpolation filter and method for use therewith
JP2009290498A (ja) 2008-05-29 2009-12-10 Renesas Technology Corp 画像符号化装置及び画像符号化方法
US20100166073A1 (en) * 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060027795A (ko) * 2003-05-20 2006-03-28 에이엠티 어드밴스트 멀티미디어 테그놀로지 에이비 하이브리드 비디오 압축 방법
KR20050087729A (ko) * 2004-02-27 2005-08-31 세이코 엡슨 가부시키가이샤 동화상 부호화 장치 및 동화상 처리장치
KR20060090749A (ko) * 2005-02-10 2006-08-16 톰슨 라이센싱 인터 또는 인트라 모드에서 비디오 화상을 코딩하기 위한방법 및 디바이스
KR20080007760A (ko) * 2006-07-18 2008-01-23 연세대학교 산학협력단 동영상의 움직임 추정을 위한 움직임 예측방법 및 움직임추정 부호화기

Also Published As

Publication number Publication date
TW201044881A (en) 2010-12-16
US20100195730A1 (en) 2010-08-05
JP2010178335A (ja) 2010-08-12
KR20100089039A (ko) 2010-08-11
CN101795408B (zh) 2014-02-19
JP5241743B2 (ja) 2013-07-17
CN101795408A (zh) 2010-08-04
US9432674B2 (en) 2016-08-30

Similar Documents

Publication Publication Date Title
US8666181B2 (en) Adaptive multiple engine image motion detection system and method
US9807410B2 (en) Late-stage mode conversions in pipelined video encoders
US9473778B2 (en) Skip thresholding in pipelined video encoders
US8472527B2 (en) Hierarchical motion estimation using original frame for sub-sampled reference
US9392292B2 (en) Parallel encoding of bypass binary symbols in CABAC encoder
US9179166B2 (en) Multi-protocol deblock engine core system and method
US10165270B2 (en) Intra/inter mode decision for predictive frame encoding
KR101316503B1 (ko) 듀얼 스테이지 인트라-예측 비디오 인코딩 시스템 및 방법
Lian et al. Lossless frame memory compression using pixel-grain prediction and dynamic order entropy coding
CN107113435B (zh) 分区模式和变换尺寸确定方法、装置、系统及介质
KR20190015218A (ko) 비디오 코딩을 위해 이웃 블록 패턴을 이용하는 모션 추정 방법 및 시스템
CN101729893B (zh) 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置
US20240037700A1 (en) Apparatus and method for efficient motion estimation
US20100158105A1 (en) Post-processing encoding system and method
KR101425286B1 (ko) 모션 추정을 위한 완전한 서브 매크로블록 형상 후보 저장 및 복구 프로토콜
US8879629B2 (en) Method and system for intra-mode selection without using reconstructed data
CN103096051A (zh) 一种图像块信号分量采样点的帧内解码方法和装置
WO2018119609A1 (zh) 一种基于模板匹配的编解码方法及装置
Ndili et al. FPSoC-based architecture for a fast motion estimation algorithm in H. 264/AVC
Stabernack et al. A system on a chip architecture of an H. 264/AVC coprocessor for DVB-H and DMB applications
Stabernack et al. A video coprocessor for mobile multi media signal processing
US20150195521A1 (en) Candidate motion vector selection systems and methods
CN104854865A (zh) 编码单元比特数限制
Chen et al. Architecture design of low-power motion estimation based on DHS-NPDS for H. 264/AVC
Meng Wireless video systems

Legal Events

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

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

Effective date: 20130612

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

Payment date: 20181001

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191001

Year of fee payment: 7