KR20080067631A - 멀티미디어 코딩을 위한 모드 선택 기술 - Google Patents

멀티미디어 코딩을 위한 모드 선택 기술 Download PDF

Info

Publication number
KR20080067631A
KR20080067631A KR1020087009990A KR20087009990A KR20080067631A KR 20080067631 A KR20080067631 A KR 20080067631A KR 1020087009990 A KR1020087009990 A KR 1020087009990A KR 20087009990 A KR20087009990 A KR 20087009990A KR 20080067631 A KR20080067631 A KR 20080067631A
Authority
KR
South Korea
Prior art keywords
inter
mode
multimedia
modes
block
Prior art date
Application number
KR1020087009990A
Other languages
English (en)
Other versions
KR100957316B1 (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 KR20080067631A publication Critical patent/KR20080067631A/ko
Application granted granted Critical
Publication of KR100957316B1 publication Critical patent/KR100957316B1/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 멀티미디어 시퀀스의 멀티미디어 프레임들의 매크로블록들(또는 다른 블록들)의 인코딩동안 모드 선택 결정들을 개선하는 기술들에 관한 것이다. 모션 추정동안, 매크로블록들에 대한 인코딩 모드들은 바람직한 인코딩 레이트 및 허용가능 왜곡 레벨들(즉, 허용가능 레이트-왜곡)이 달성될 수 있도록 결정될 수 있다. 본 발명은 매크로블록과 연관된 디테일 메트릭과 이 매크로블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 매크로블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 두개의 세트사이에서 멀티미디어 코딩 모드들의 세트를 선택하는 단계를 포함할 수 있다.

Description

멀티미디어 코딩을 위한 모드 선택 기술{MODE SELECTION TECHNIQUES FOR MULTIMEDIA CODING}
본 출원은 "가설 테스트에 기초하여 고속 인터 모드 결정"이라는 명칭으로 2005년 9월 27일에 출원된 미국 가출원 번호 제60/721,418호에 기초하며, 이 가출원은 본 발명의 양수인에게 양도되고 여기에 참조로 통합된다.
본 발명은 멀티미디어 코딩, 특히 멀티미디어 시퀀스의 프레임들내의 매크로블록들에 대한 코딩 모드들을 선택하는 것에 관한 것이다.
멀티미디어 능력은 디지털 텔레비전, 디지털 직접 방송 시스템, 무선 통신 장치, 개인휴대단말(PDA), 랩탑 컴퓨터, 데스크탑 컴퓨터, 디지털 카메라, 디지털 레코딩 장치, 셀룰라 또는 위성 무선 전화 등을 포함하는 다양한 장치들에 통합될 수 있다. 디지털 멀티미디어 코딩은 전체 모션 멀티미디어 시퀀스들을 생성하고, 수정하고, 전송하고, 저장하며, 기록하며 플레이(play)할때 종래의 아날로그 시스템들에 비하여 현저한 개선점들을 제공할 수 있다. 방송 네트워크들은 예컨대 무선 가입자 장치들에 멀티미디어 시퀀스들의 하나 이상의 채널들을 방송하기 위하여 멀티미디어 코딩을 사용할 수 있다.
디지털 멀티미디어 시퀀스들을 코딩하기 위하여 다수의 다른 멀티미디어 코 딩 표준들이 확립되었다. 동화상 전문가 그룹(Moving Picture Experts Group)은 예컨대 MPEG-1, MPEG-2 및 MPEG-4를 포함하는 다수의 표준들을 개발하였다. 다른 표준들은 국제전기통신연합(ITU) H.263 표준, 캘리포니아 쿠페티노에 있는 애플 컴퓨터에 의하여 개발된 QuickTimeTM 기술, 워싱턴 레드몬드에 있는 마이크로소프트 코포레이션에 의하여 개발된 Video for WindowsTM, 인텔 코포레이션에 의하여 개발된 IndeoTM, 워싱턴 시에틀에 있는 RealNetworks, Inc.에 의하여 개발된 RealVideoTM, 및 SuperMac, Inc.에 의하여 개발된 CinepakTM를 포함한다. 게다가, 최근에 개발된 ITU H.264 및 다수의 회사 소유 표준들을 포함하는 새로운 표준들이 계속해서 출현하여 진화하고 있다. ITU H.264 표준은 또한 "진보된 오디오 코딩"라고 지칭된 MPEG-4 파트 10에 개시되어 있다.
많은 멀티미디어 코딩 표준들은 데이터 압축을 지원하며, 이는 멀티미디어 프레임들을 유효하게 전송하기 위하여 전송될 필요가 있는 전체 데이터량을 감소시킨다. MPEG 표준들 및 ITU H.263 및 ITU H.264 표준들은 예컨대 프레임간 압축을 제공하기 위하여, 시간 또는 프레임간 상관으로서 언급되는, 연속 비디오 프레임들간의 유사성들(similarity)을 이용하는 코딩 기술들을 지원한다. 이러한 프레임간 압축은 전형적으로 모션 추정 및 모션 보상 코딩 기술들을 통해 달성된다. 더욱이, 일부 멀티미디어 코딩 기술들은 비디오 프레임들을 압축하기 위하여, 시간 또는 프레임내 상관으로서 언급되는 프레임들내의 유사성들을 이용할 수 있다.
대부분의 프레임간 압축 기술들은 멀티미디어 프레임들을 데이터의 블록들로 분할하고 이 블록들을 멀티미디어 시퀀스의 다른 프레임들의 블록들과 상관시키는 블록-기반 코딩을 이용한다. 현재의 블록과 다른 프레임의 예측 블록간의 차이들을 인코딩함으로서, 데이터 압축이 달성될 수 있다. 인코더는 전형적으로 "매크로블록들"로 언급된 데이터의 블록들로 전송될 멀티미디어 프레임을 분할한다. 매크로블록들은 또한 구획들(partition) 또는 부구획들(sub-partition)로 재분할될 수 있다. ITU H.264 표준은 16×16 매크로블록들, 16×8 구획들, 8×16 구획들, 8×8구획들, 8×4부구획들, 4×8부구획들, 및 4×4 부구획들을 지원한다. 다른 표준들은 다른 크기의 블록들, 매크로블록들, 구획들 및/또는 부구획들을 지원할 수 있다.
멀티미디어 프레임의 각각의 블록(매크로블록, 구획 또는 부구획)에 대하여, 인코더는 "예측 블록"으로서 언급된 유사한 블록을 식별하기 위하여 하나 이상의 바로 선행하는 비디오 프레임들(또는 다음 프레임들)의 유사한 크기의 블록들을 탐색한다. 다른 프레임들의 비디오 블록들과 현재의 비디오 블록을 비교하는 프로세스는 일반적으로 모션 추정으로서 언급된다. 일단 코딩될 주어진 블록에 대하여 "예측 블록"이 식별되면, 인코더는 현재의 블록과 예측 블록사이의 차이들을 인코딩할 수 있다. 현재의 블록 및 예측 블록사이의 차이들을 인코딩하는 이러한 프로세스는 모션 보상으로서 언급된 프로세스를 포함한다. 모션 보상은 인코딩될 현재 블록 및 예측 블록간의 차이들을 나타내는 차 블록(difference block)을 생성하는 단계를 포함한다. 특히, 모션 보상은 보통 모션 벡터를 사용하여 예측 블록을 페 치한후 차 블록을 생성하기 위하여 입력 블록으로부터 예측 블록을 감산하는 연산을 언급한다.
모션 보상이 차 블록을 생성한후에, 차 블록을 추가로 인코딩하기 위하여 전형적으로 일련의 부가 인코딩 단계들이 수행된다. 이들 부가 단계들은 이산코사인 변환, 스칼라 양자화, 래스터-지그재그 재정렬(raster-to-zigzag reordering), 런-길이 인코딩(run-length encoding), 호프만 인코딩 등을 포함할 수 있다. 인코딩된 차 블록은 이전 프레임(또는 다음 프레임)으로부터의 블록이 인코딩을 위하여 사용된다는 것을 지시하는 모션 벡터와 함께 전송될 수 있다. 디코더는 모션 벡터 및 인코딩된 차 블록을 수신하며, 멀티미디어 시퀀스들을 재구성하기 위하여 수신된 정보를 디코딩한다.
코딩 프로세스를 개선하기 위하여 종종 모션 추정 프로세스동안 모드 결정들이 이루어진다. 이들 모드 결정들은 레이트 제어 알고리즘의 일부분일 수 있으며, 바람직한 레이트-왜곡 밸런스(rate-distortion balance)가 달성되도록 매크로블록들이 어떻게 분할 또는 재분할되어야 하는지를 결정하기 위하여 사용될 수 있다. 본 발명에서, 용어 "모드 선택"은 예컨대 매크로블록이 하나의 16×16 블록으로서 코딩되어야 하던지 또는 2개 이상의 구획들 또는 부구획들이 매크로블록에 대하여 한정되어야 하던지간에 매크로블록 등에 대한 하나의 가능한 코딩 모드들의 선택을 언급한다. 불행하게도, 비디오 시퀀스의 모든 매크로블록에 대한 모든 가능한 코딩 모드를 전체적으로 탐색하는 것은 계산적으로 복잡하여 많은 장치들 또는 멀티미디어 인코딩 상황들에서 사용되지 않을 수 있다.
본 발명은 멀티미디어 시퀀스의 멀티미디어 프레임들의 매크로블록들(또는 멀티미디어 데이터의 다른 크기의 블록들)의 인코딩동안 모드 선택 결정들을 개선하는 기술들에 관한 것이다. 모션 추정동안, 매크로블록들에 대한 인코딩 모드는 바람직한 인코딩 레이트 및 허용가능 왜곡 레벨들(즉, 허용가능 레이트-왜곡)이 달성될 수 있도록 결정될 수 있다. 본 발명은 다른 방식으로 수행되는 매크로블록에 대한 가능성 없는 모드들과 연관된 모드 탐색들을 제거하기 위하여 멀티미디어 시퀀스에 대하여 수행될 수 있는 사전-처리 절차(pre-processing procedure)를 기술한다.
이 기술들은 모든 매크로블록에 대한 디테일 메트릭(detail metric)을 이용할 수 있으며, 이러한 디테일 매트릭은 주어진 매크로블록이 일정한 시각적 품질로 인코딩될 필요가 있는 비트들의 수와 관련될 수 있다. 기술들은 두개 이상의 모드 세트를 한정할 수 있으며, 이들 세트들중 하나는 선택될 수 있다. 따라서, 비선택된 세트의 모드들은 주어진 매크로블록에 대하여 이 세트의 모드들이 거의 가능하지 않을때(즉, 거의 필요치 않을때) 고려사항으로부터 제거될 수 있다. 일부의 경우에, 기술들은 디테일 메트릭을 포함하는 확률 방정식들을 사용할 수 있도록 한다. 본 발명에 있어서, 2개의 모드 세트(인터-플래너 및 인터-디테일)의 예는 비록 본 발명의 기술들이 이에 반드시 제한되지 않을지라도 한정된다.
설명된 기술들은 또한 인접 블록들과 연관된 더 많은 정보를 결정할 수 있고 이러한 정보를 사용하여 현재의 매크로블록에 대한 모드 선택을 개선할 수 있다. 게다가, 확률 방정식들에서의 통계는 각각의 모드 선택 이후에 업데이트될 수 있으며, 확률 방정식들에 대한 업데이트들은 다음 매크로블록들의 모드 선택 결정들을 위하여 사용될 수 있다. 멀티미디어 시퀀스의 프레임들의 매크로블록들에 대한 모드 선택 과정에서 확률 방정식들의 통계를 업데이트함으로서, 본 발명의 기술은 멀티미디어 시퀀스에 대한 모드 선택을 개선하기 위하여 멀티미디어 시퀀스의 콘텐츠에 적응될 수 있다.
일부 실시예들에 있어서, 본 발명은 멀티미디어 데이터를 처리하기 위한 방법으로서, 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 단계를 포함하는, 멀티미디어 데이터 처리 방법을 제공한다.
일부 실시예들에 있어서, 본 발명은 멀티미디어 데이터를 처리하기 위한 장치로서, 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 인코더를 포함하는, 멀티미디어 데이터 처리 장치를 제공한다.
일부 실시예들에 있어서, 본 발명은 멀티미디어 데이터를 처리하기 위한 프로세서로서, 상기 프로세서가 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하도록 구성된, 프로세서를 제공한다.
일부 실시예들에 있어서, 본 발명은 멀티미디어 데이터를 처리하기 위한 장치로서, 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 수단을 포함하는, 멀티미디어 데이터 처리 장치를 제공한다.
여기에서 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 만일 소프트웨어로 구현되면, 소프트웨어는 디지털 신호 프로세서(DSP) 또는 다른 타입의 프로세서에서 실행될 수 있다. 본 기술들을 실행하는 소프트웨어는 컴퓨터-판독가능 매체와 같은 머신-판독가능 매체에 초기에 저장될 수 있으며, 여기에서 설명된 바와 같이 모드를 선택하도록 프로세서, 장치 또는 다른 머신에 로드되어 실행될 수 있다.
따라서, 본 발명은 멀티미디어 데이터를 처리하기 위한 명령들을 포함하는 머신-판독가능 매체를 제공하는데, 상기 명령들은 실행시 머신으로 하여금 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하도록 한다.
다양한 실시예들의 추가 세부사항들은 이하의 첨부 도면들 및 상세한 설명에 기술된다. 다른 특징들, 목적들 및 장점들은 이하의 상세한 설명, 도면들 및 청구범위로부터 명백해 질 것이다.
도 1은 본 발명의 일부 실시예에 따른 예시적인 멀티미디어 코딩 장치를 도시한 블록도이다.
도 2는 본 발명의 일부 실시예들과 일치하는 모드 선택 프로세스를 기술한 트리 다이어그램(tree diagram)이다.
도 3은 본 발명의 일부 실시예들에 따른 기술을 도시한 흐름도이다.
도 4는 본 발명의 일부 실시예에 따른 모드들의 2개의 다른 세트들과 연관된 확률들의 히스토그램들을 포함하는 그래프이다.
도 5는 본 발명의 일부 실시예들에 따라 코딩된 현재의 매크로블록에 대한 가능한 공간 및/또는 시간 이웃들을 도시한 개념도이다.
도 6은 본 발명의 일부 실시예들에 따른 예시적인 인코딩 모듈을 기술한 블록도이다.
본 발명은 멀티미디어 시퀀스의 멀티미디어 프레임들의 매크로블록들 등의 인코딩동안 더 많은 선택 결정들을 개선하기 위한 기술들을 설명한다. 본 발명에서, 용어 "모드 선택"은 예컨대 매크로블록이 하나의 16×16 블록으로서 코딩되어야 하는지 또는 매크로블록에 대하여 2개 이상의 구획들(partition) 또는 부구획들(sub-partition)이 한정되어야 하는지간에 멀티미디어 데이터의 매크로블록 또는 다른 크기의 블록에 대한 하나 이상의 가능한 코딩 모드들의 선택을 언급한다. 이 러한 모드 결정들은 종종 모션 추정 프로세스동안 이루어지며, 바람직한 레이트-왜곡 밸런스(rate-distortion balance)가 프레임들의 전체 멀티미디어 시퀀스의 프레임에 대하여 수행되도록 매크로블록들이 어떻게 분할되거나 또는 재분할되어야 하는지를 결정하는 레이트 제어 알고리즘의 부분일 수 있다. 매크로블록들에 대하여 선택된 모드들은 일반적으로 구획들 및/또는 부구획들, 즉 구획들, 부구획들, 또는 구획들 및 부구획들에 의하여 매크로블록의 그래뉼래러티(granularity)를 한정한다. 그러나, 본 발명의 모드 선택 기술들은 반드시 매크로블록, 블록, 구획들 또는 부구획들의 임의의 특정 크기에 제한되지 않는다.
본 발명에 따르면, 모션 추정동안, 사전-처리 절차(pre-processing procedure)는 매크로블록의 가능하지 않은(improbable) 모드들과 연관된 모드 탐색들을 제거하기 위하여 멀티미디어 시퀀스에 대하여 수행될 수 있다. 설명된 기술들은 모든 매크로블록에 대하여 디테일 메트릭(detail metric)을 이용할 수 있으며, 이러한 디테일 메트릭은 주어진 매크로블록이 일정한 시각적 품질로 인코딩될 필요가 있는 비트들의 수와 관련될 수 있다. 기술들은 또한 인접 블록들과 연관된 더 많은 정보를 가질 수 있으며, 이러한 정보를 사용하여 현재의 매크로블록에 대한 모드 선택을 개선할 수 있다.
이 기술들은 적어도 두개의 모드 세트들을 한정하며, 이들 세트들중 하나가 선택될 수 있다. 본 발명에서, 모드들의 2개의 세트(인터-플래너 및 인터-디테일)의 예는 비록 본 발명의 기술들이 반드시 이에 제한되지 않을지라도 한정된다. 임의의 경우에, 비선택된 세트의 모드들은 이 세트의 모드들이 주어진 매크로블록에 대하여 가능하지 않을때 고려대상으로부터 제거될 수 있다. 기술들은 인접 블록들과 연관된 모드 선택 정보 및 디테일 메트릭을 포함하는 확률 방정식들을 사용할 수 있다.
게다가, 확률 방정식들의 통계는 각각의 모드 선택후에 업데이트될 수 있으며, 확률 방정식들에 대한 업데이트들은 다음 매크로블록들의 모드 선택 결정들을 위하여 사용될 수 있다. 이러한 방식에서, 기술은 멀티미디어 시퀀스에 대한 모드 선택을 개선하기 위하여 주어진 멀티미디어 시퀀스의 콘텐츠에 적용될 수 있다.
도 1은 예시적인 멀티미디어 코딩 장치(10)를 도시한 블록도이다. 멀티미디어 코딩 장치(10)는 비디오 데이터를 인코딩하여 전송할 수 있는 디지털 비디오 장치의 부분을 형성할 수 있다. 예로서, 멀티미디어 코딩 장치(10)는 멀티미디어 시퀀스들의 하나 이상의 채널들을 무선 가입자 장치들에 방송하는 방송 장치를 포함할 수 있다. 다른 예에서, 멀티미디어 코딩 장치(10)는 예컨대 비디오 전화(VT) 또는 다른 멀티미디어 응용들을 용이하게 수행하기 위하여 멀티미디어 시퀀스들을 다른 장치들에 통신할 수 있는 무선 핸드헬드 유닛을 포함할 수 있다.
도 1에 도시된 바와같이, 멀티미디어 코딩 장치(10)는 여기에서 설명된 기술들중 하나 이상을 사용하여 멀티미디어 시퀀스들을 인코딩하는 멀티미디어 인코더(12)를 포함한다. 더욱이, 멀티미디어 코딩 장치(10)는 멀티미디어 시퀀스들을 포착하는 비디오 캡처 장치(14), 멀티미디어 시퀀스들을 저장하거나 기록하는 메모리(16), 및 인코딩된 멀티미디어 시퀀스들을 다른 장치들에 전송하는 송신기(18)과 같은 많은 다른 컴포넌트들을 포함할 수 있다. 그러나, 이들 부가 컴포넌트들의 일부 또는 모두는 장치(10)에서 선택적이다. 멀티미디어 인코더(12), 비디오 캡처 장치(14), 메모리(16) 및 송신기(18)는 통신 버스(15) 등을 통해 통신가능하게 접속될 수 있다.
멀티미디어 시퀀스들은 비디오 포착 장치(14)에 의하여 포착되거나, 메모리(16)로부터 검색되거나 또는 다른 방식으로 획득될 수 있다. 임의의 경우에, 멀티미디어 코딩 장치(10)의 멀티미디어 인코더(12)는 멀티미디어 시퀀스를 인코딩하기 위하여 사용될 수 있으며, 이러한 인코딩 프로세스를 개선하기 위하여 본 발명의 기술들중 하나 이상의 기술을 구현할 수 있다. 멀티미디어 코딩 장치(10)는 디지털 방송 시스템들, 디지털 텔레비전들, 무선 통신 장치들, 개인휴대단말들(PDA), 랩탑 컴퓨터들, 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 기록 장치들, 셀룰라 또는 위성 무선 전화들, 또는 멀티미디어 인코딩 능력들을 포함하는 임의의 장치와 같은 장치들에서 구현될 수 있다. 멀티미디어 인코딩 장치(10)는 MPEG-4, ITU-T H. 263, ITU-T H.264, 또는 멀티미디어 시퀀스의 프레임들의 데이터 매크로블록들에 대한 여러 가능한 코딩 모드들을 위하여 제공하는 다른 코딩 표준에 따를 수 있다.
멀티미디어 인코더(12)는 소위 "칩 세트(chip set)"를 포함할 수 있으며, 하드웨어, 소프트웨어, 펌웨어, 및/또는 하나 이상의 마이크로프로세서들, 디지털 신호 프로세서들(DSP), 주문형 집적회로들(ASIC), 필드 프로그램가능 게이트 어레이들(FPGA) 등의 임의의 조합을 통해 구현될 수 있다. 멀티미디어 인코더(12)는 디지털 멀티미디어 시퀀스들을 인코딩 및 디코딩하는 인코더/디코더(CODEC)를 포함할 수 있다. 게다가, 일부의 경우들에 있어서, 멀티미디어 인코더(12)의 기능은 전체적으로 또는 부분적으로 소프트웨어 구현될 수 있다. 따라서, 본 발명은 또한 실행시에 머신(프로세서 또는 DSP)이 여기에서 설명된 기술들을 실행하도록 하는 명령들을 포함하는 머신-판독가능 매체를 제공한다.
멀티미디어 인코더(12)는 인터-코딩동안 모션 추정 프로스세의 일부분으로서 모드 선택 기술들을 수행하는 모드 선택 유닛(20)을 포함한다. 멀티미디어 인코더(12)는 일체형 또는 개별 유닛들일 수 있는 모션 추정기/공간 추정기(22)를 포함한다. 멀티미디어 인코더(12)는 또한 일체형 또는 개별 유닛들일 수 있는 모션 보상기/인트라-예측 유닛(24)을 포함한다. 탐색 공간(25)은 예측-기반 코딩을 위하여 사용된 데이터, 예컨대 멀티미디어 시퀀스의 이전 프레임 또는 이전 프레임의 일부분을 저장하는 메모리 유닛을 나타낸다. 최종적으로, 멀티미디어 인코더(12)는 모선 추정 및 모션 보상 프로세스들동안 생성된 잔류 블록에 대하여 하나 이상의 잔류 코딩 프로세스들을 수행하는 잔류 코더(26)를 포함한다.
인코딩 프로세스동안, 모션 추정기/공간 추정기(22)는 예측 블록을 식별하기 위하여 데이터의 현재 멀티미디어 블록과 탐색 공간(25)내의 다양한 블록들을 비교한다. 모션 추정기/공간 추정기(22)는 일반적으로 프레임간 코딩을 위하여 모션 추정을 수행하는 모션 추정기, 프레임내 코딩을 위하여 공간 추정을 수행하는 공간 추정기, 또는 모션 추정 및 공간 추정을 수행할 수 있는 조합 유닛을 나타낸다. 일반적으로, 예측 블록은 프레임간 상관(또는 프레임내 상관)을 위하여 데이터의 현재 멀티미디어 블록과 충분하게 매칭되는 것으로 발견된 후보 블록이며, 이는 탐 색 공간내의 후보 블록들과 가장 근접하게 매칭될 수 있다. 예측 블록은 모션 추정동안 평가되는 탐색 공간(25)내의 많은 후보 블록들중 하나이다. 인터 코딩을 위하여, 모션 추정 프로세스는 전형적으로 매크로블록의 모든 구획 및 부구획에 대하여 수행된다. 본 발명의 기술들은 주어진 매크로블록을 코딩하기 위한 모드(구획들 및 부구획들의 수 및 형상들을 한정하는)를 식별하는데 도움을 줄 수 있다.
코딩될 데이터의 현재의 멀티미디어 블록과 탐색 공간내의 후보 블록사이의 비교를 수행하기 위하여, 모션 추정기/공간 추정기(22)는 절대차의 합(SAD: sum of absolute difference) 기술들, 제곱차의 합(SSD: sum of squared difference) 기술들 또는 다른 비교 기술들을 블록과 연관된 화소 강도 값들에 대하여 수행할 수 있다. 이러한 방식에 있어서, 모션 추정기/공간 추정기(22)는 다른 후보 블록들에 대한 차 값들(difference value)을 결정할 수 있다. 낮은 차 값은 일반적으로 후보 블록이 코딩된 블록과 양호하게 매칭된다는 것을 지시하며, 따라서 높은 차 값들을 야기하는 다른 후보 블록들보다 모션 추정 코딩에 사용하기에 양호한 후보를 지시한다. 일단 적절한 매칭이 발견되면 데이터의 예측 블록이 식별될 수 있다.
일단 코딩될 멀티미디어 블록에 대하여 모션 추정기/공간 추정기(22)에 의하여 하나의 블록이 식별되면, 모션 보상기/인트라-예측 유닛(24)은 잔류(residual)를 생성한다. 잔류는 코딩될 현재의 멀티미디어 블록과 모션 추정 및 공간 추정에 의하여 식별된 예측 블록사이의 차들을 지시하는 데이터의 블록이다. 모션 보상기/인트라-예측 유닛(24)은 일반적으로 프레임간 코딩을 위하여 모션 보상을 수행하는 모션 보상기, 프레임내 코딩을 위하여 모션 보상을 공간 보상을 수행하는 인트 라-예측 유닛, 또는 프레임간 또는 프레임내 코딩이 사용되는지의 여부에 따라 모션 보상 또는 인트라-예측을 수행할 수 있는 조합 유닛을 나타낸다. 모션 보상기/인트라-예측 유닛(24)은 모션 벡터를 사용하여 탐색 공간(25)으로부터 예측 블록을 페치하고, 잔류를 생성하기 위하여 입력 블록으로부터 예측 블록을 감산할 수 있다. 잔류는 전형적으로 차 블록에 의하여 표현되는 원시 비디오 블록보다 실질적으로 적은 데이터를 포함하여 데이터 압축을 야기한다.
모순 보상기/인트라-예측 유닛(24)이 잔류를 생성한후에, 잔류 코더(26)는 이산 코사인 변환(DCT), 지그-재그 스캐닝, 런 길이 코딩, 가변 길이("호프만") 코딩, 또는 주어진 코딩 표준에서 사용되는 임의의 다른 프로세스와 같은 하나 이상의 잔류 코딩 단계들을 수행할 수 있다. 다수의 다른 잔류 코딩 단계들이 또한 수행될 수 있다. 모션 추정, 모션 보상 및 잔류 코딩 프로세스들은 주어진 매크로블록의 선택된 모드에 의하여 한정된 모든 블록(즉, 모든 매크로블록, 구획 및/또는 부구획)에 대하여 수행될 수 있다.
본 발명에 따르면, 모션 추정동안, 모드 선택 유닛(20)은 각각의 매크로블록에 대한 거의 가능하지 않은 모드들과 연관된 모드 탐색들을 제거하기 위하여 멀티미디어 시퀀스의 프레임들의 매크로블록들에 대하여 사전-처리 절차를 수행한다. 특히, 모드 선택 유닛(20)은 모든 매크로블록에 대한 디테일 메트릭을 한정하며, 이러한 디테일 메트릭은 주어진 매크로블록이 일정한 시각적 품질로 인코딩될 필요가 있는 비트들의 수와 관련될 수 있다. 모드 선택 유닛(20)은 또한 이러한 모드 선택들을 수행할때 인접 블록들의 모드들을 고려한다. 모드 선택 유닛(20)은 2개 이상의 모드 세트들을 한정할 수 있으며, 이들 세트들중 하나가 선택될 수 있다. 예로서, 모드 선택 유닛(20)은 모드들의 인터-플래너 세트(inter-planar set) 및 모드들의 인터-디테일 세트를 한정할 수 있다. 인터-플래너 모드들은 매크로블록이 하나의 16×16 구획(인터 16×16 모드), 2개의 16×8 구획들(인터 16 × 8 모드), 또는 2개의 8×16 구획들(인터 8×16 모드)을 포함하는 매크로블록 모드들을 포함한다. 인터-플래너 모드들은 또한 상기 매크로블록에 대하여 코딩이 스킵(skip)되는 "SKIP" 모드를 포함할 수 있다. 다른 한편으로, 인터-디테일 모드들은 매크로블록이 4개의 8×8 구획들(인터 8×8 모드), 하나 이상의 8×4 부구획들(인터 8×4 모드), 하나 이상의 4×8 부구획들(인터 4×8모드) 또는 하나 이상의 4×4 부구획들(인터 4×4 모드)를 포함하는 매크로블록 모드들을 포함한다.
인터-디테일에서 가능 모드들의 실제 수는 구획들 및 부구획들의 많은 조합 및 부조합들로 인하여 비교적 많다. 그러나, 실험적 연구로 인하여, 대부분의 멀티미디어 시퀀스들의 매크로블록들의 95 퍼센트 이상이 16×16, 16×8, 8×16, 또는 8×8 구획들로 인코딩된다는 것을 알았다. 따라서, 매크로블록들의 5 퍼센트 이하는 전형적으로 부구획 레벨로 코딩된다. 모든 가능한 모드(구획들 및 부구획들의 모든 가능 조합)를 탐색하기 위하여, 비록 매크로블록들의 5 퍼센트의 이하가 이들 모드들을 실제로 사용할 수 있을지라도 시간의 90퍼센트 이상이 작은 부구획들을 포함하는 모드들을 탐색하는데 소비될 수 있다. 본 발명은 부구획들이 사용될 가능성이 없을때를 결정하기 위하여 통계적 확률 기술들을 사용한다. 이러한 경우에, 부구획들을 포함하는 모드들의 탐색이 방지될 수 있다.
따라서, 모드 선택 유닛(20)은 확률 방정식들을 사용할 수 있다. 확률 방정식은 변수들로서 시간적 대역폭 비율 메트릭 형태의 디테일 메트릭, 및 인접 블록들과 연관된 모드 정보를 포함할 수 있다. 디테일 메트릭은 매크로블록에서 시간적 및 공간적 디테일을 지시할 수 있다. 인접 블록들과 연관된 모드 정보는 현재의 블록에 대한 시간적 및/또는 공간적 근접성(proximity)에 기초하여 가중될 수 있다. 예컨대, 인접 블록들의 모드 정보에 대하여, 모드 선택 유닛(20)은 블록들의 다른 부세트들사이의 시간적 차들로 인하여 다른 프레임내의 블록들의 제 2 부세트의 모드 정보와 다르게 프레임내의 블록들의 제 1 부세트의 모드 정보를 가중시킬 있다. 임의의 경우에, 인접 블록들과 연관된 모드 정보 및 디테일 메트릭은 현재의 매크로블록에 대한 모드 선택을 개선하기 위하여 분석될 수 있다.
확률 방정식들에서 통계는 각각의 매크로블록에 대한 각각의 모드 선택 후에 업데이트될 수 있으며, 확률 방정식들에 대한 업데이트들은 다음 매크로블록들의 모드 선택 결정을 위하여 사용될 수 있다. 이러한 방식에서, 모드 선택 유닛(20)은 전체 모션 멀티미디어 시퀀스에 대한 모드 선택을 개선하기 위하여 주어진 시퀀스의 콘텐츠에 적응될 수 있다. 결국, 모드 선택 유닛(20)은 가능한 멀티미디어 코딩 모드들의 선택된 세트로부터 각각의 매크로블록을 코딩하는 모드를 선택한다. 많은 경우에, 여기에서 설명된 기술들은 멀티미디어 코딩 모드들의 비선택 세트에서 매크로블록에 대한 모드들과 연관된 모션 탐색들을 방지하는데 도움을 줄 수 있다.
도 2는 모드 선택 유닛(20)에 의하여 구현될 수 있는 모드 선택 프로세스를 도시한 트리 다이어그램(tree diagram)이다. 특히, 모드 결정(32)은 인트라-코딩(34) 또는 인터-코딩(36)을 사용해야 하는지의 여부에 관한 결정을 포함할 수 있다. 만일 인트라-코딩(34)이 사용되면, 모드 선택 유닛(20)은 16×16 블록들(33),또는 4×4 블록들(35)의 세트들로서 매크로블록들을 코딩해야하는지를 결정하며, 이러한 결정은 매크로블록에서 콘텐츠의 레벨과 원하는 레이트-왜곡 레벨에 의하여 영향을 받을 수 있다.
만일 인터-코딩(36)이 사용되면, 모드 선택 유닛(20)은 인트라-플래너 모드들(37) 또는 인트라-디테일 모드들(38)을 사용해야 하는지를 결정한다. 다시, 이는 예컨대 인트라-플래너 모드들(37)이 선택될때 디테일 부구획 탐색들을 방지함으로서 모드 탐색들을 현저하게 단순화할 수 있다. 이러한 모드 선택 프로세스는 인코딩 프로세스에서 인코딩 레이트 및 왜곡 레벨을 밸런싱함으로서 인코딩된 시퀀스의 비교적 일정한 멀티미디어 품질을 달성하기 위하여 사용된 레이트 제어 알고리즘의 일부를 형성할 수 있다.
본 발명의 모드 선택 기술들은 특히 인터-코딩동안 모션 추정 프로세스와 연관된 사전-처리 절차동안 적용한다. 도 3은 이와 관련하여 수행될 수 있는 기술을 설명한 흐름도이다. 도시된 바와같이, 모드 선택 유닛(20)은 모드 선택 프로세스(42)와 연관된 통계를 초기화한다. 예컨대, 통계는 장치 제조동안 처리된 멀티미디어 프레임들의 매우 큰 샘플에 대한 평균 모드-관련 통계를 액세스함으로서 초기화되는 확률 방정식들을 포함할 수 있다. 초기화된 방정식은 예컨대 테스트 시퀀스들의 시뮬레이션들에 기초하여 사전에 프로그래밍될 수 있으나, 멀티미디어 인 코딩 장치(10)에 의하여 이전에 수행된 코딩 프로세스들을 반영하기 위하여 업데이트될 수 있다.
다음에, 모드 선택 유닛(20)은 확률들에 기초하여 멀티미디어 시퀀스의 프레임의 매크로블록에 대한 모드 세트를 선택한다(43). 확률들은 확률 방정식들로서 표현되며, 방정식들은 매크로블록에 대한 인접 블록들과 연관된 모드 정보와 매크로블록의 시간적 및 공간적 디테일을 나타내는 디테일 메트릭을 포함할 수 있다. 예시적인 하나의 특정 예에서, 모드들은 인터-코딩을 위한 2개의 가능한 모드 세트, 인터-플래너 모드들의 세트 및 인터-디테일 모드들의 세트로 분할된다. 일부 경우들에, 인터-플래너 모드들의 세트가 선택될때(45), 인터-디테일 모드들과 연관된 다른 모드들은 무시될 수 있다. 일부 경우들에서, 인터-디테일 모드들의 세트가 선택될때(46), 인터-플래너 모드들과 연관된 다른 모드들은 무시될 수 있다. 이하에서 논의되는 일부의 경우(도 3에 도시안됨)에서는 인터-디테일 세트 및 인터-플래너 세트의 모든 가능한 모드를 탐색하는 철저한 탐색이 바람직할 수 있다. 다시 말해서, 비록 도 3이 인터-플래너 모드들 및 인터-디테일 모드들을 도시할지라도, 모든 모드들의 전체 탐색은 임의의 경우에, 예컨대 인터-플래너 모드들 또는 인터-디테일 모드들을 통계적으로 제거하는데 곤란한 경우들에 수행된다. 이러한 점에서, 도 3은 비록 모든 모드들이 다른 시나리오에서 선택 및 탐색될 수 있을지라도 인터-디테일 또는 인터 플래너 모드들이 선택되는 시나리오들을 단순히 기술한다.
임의의 경우에, 모드 선택 유닛(20)은 원하는 레이트-왜곡 레벨을 달성하기 위하여 주어진 매크로블록에 대한 원하는 모드를 선택한다(48). 이러한 경우에, 만일 모든 가능한 모드의 철저한 탐색이 인터-플래너 세트 또는 인터-디테일 세트의 모드들을 탐색함으로서 방지되면, 계산이 현저하게 줄어들 수 있다. 일단 주어진 매크로블록에 대하여 모드가 선택되면(48), 모드 선택 유닛(20)은 알고리즘이 다른 콘텐츠에 적응되도록 하는 확률 통계를 업데이트한다(49). 모드 선택 프로세스는 다음 매크로블록에 대하여 반복될 수 있으며, 멀티미디어 시퀀스의 모든 프레임의 모든 매크로블록에 대하여 계속될 수 있다.
본 발명의 기술들은 ITU H.264에 따른 모드 결정들(또한 "차세대 오디오 코딩"이라는 명칭을 가진 MPEG-4, 10편에 개시됨)에 특히 유용할 수 있다. 차세대 오디오 코딩에 있어서, 인터 모드 결정은 전형적으로 모션 추정의 효율성을 평가한후에 수행된다. 그러나, 차세대 오디오 코딩이 매크로블록내의 많은 다른 블록 크기들을 허용하기 때문에, 전체 계산이 더욱더 복잡하게 된다. 이러한 경우에, 본 발명의 기술들은 주어진 매크로블록에 대하여 바람직한 선택이 아닌 것 같은 임의의 블록 크기를 무시할 수 있다.
다시, 모드 선택 유닛(20)은 모든 매크로블록에 대하여 시간적 대역폭 비율 메트릭을 획득하기 위하여 멀티미디어 시퀀스를 사전에 처리한다. 언급된 바와같이, 이러한 메트릭은 각각의 매크로블록을 일정한 시각 품질로 인코딩하기 위하여 사용된 비트들의 수와 관련된다. 시간적 대역폭 비율 맵의 하나의 예시적인 계산은 다음과 같다.
Figure 112008029834198-PCT00001
여기서,
Figure 112008029834198-PCT00002
는 감도 메트릭(sensitivity metric)이며, Y는 매크로블록의 평균 휘도 성분이며,
Figure 112008029834198-PCT00003
는 휘도 스퀘어(square) 및
Figure 112008029834198-PCT00004
값에 대한 가중 인자이며,
Figure 112008029834198-PCT00005
는 정규화 인자이며,
Figure 112008029834198-PCT00006
Figure 112008029834198-PCT00007
는 현재의 매크로블록에 대하 순방향 및 역방향 모션 벡터들이며, SSD는 제곱된 차의 합을 나타낸다. 만일 SSD가 이용가능하지 않으면,
Figure 112008029834198-PCT00008
(절대 차의 합)이 대신에 사용될 수 있다.
일례에서, "가설" 테스트는 두가지 경우(H0, H1):H0:인터-플래너(인터 16×16, 인터 16×8, 인터 8×16, 및 SKIP) 포함; 및 H1:인터-디테일(인터 8×8, 인터 8×4, 인터 4×8, 인터 4×4 포함)에 대하여 한정될 수 있다. 테스트는 테스트가 확률들에 기초하여 모드들의 최대 가능 세트(인터-플래너 또는 인터-디테일)를 가설하기 때문에 "가설" 테스트로서 언급된다. 물론, 본 발명의 기술들은 더 많은 경우들로, 즉 모드들의 더 많은 세트 또는 모드들의 다른 세트들로 확장될 수 있다.
멀티미디어 코딩된 비트스트림의 시작시에, 모드 선택 유닛(20)은 도 4에 도시된 바와같이, 인터-플래너(52) 및 인터-디테일(54)의 히스토그램을 초기화한다. 초기화된 히스토그램들은 다른 콘텐츠 카테고리들의 여러 긴 테스트 시뮬레이션 시퀀스들의 시뮬레이션으로부터 획득될 수 있다. 공장에서 처리되고 주어진 장치(10)에 사전에 저장된 테스팅 시퀀스들은 예컨대 초기화된 히스토그램들을 한정 하기 위하여 사용될 수 있다. 그러나, 일단 장치(10)가 하나 이상의 멀티미디어 시퀀스들을 처리하면, 이들 부가 시퀀스들의 처리는 다음 시퀀스들의 처리동안 초기화된 히스토그램들에 반영될 수 있다. 이러한 방식에서, 여기에서 설명된 모드 선택 기술들의 초기화는 시간이 지남에 따라 진화하여 개선될 수 있다.
시간적 대역폭 비율 메트릭 "b"를 가진 새로운 매크로블록에 대하여, 모드 선택 유닛(20)은 다음과 같이 도 4의 히스토그램들에만 기초하여 확률을 계산한다.
Figure 112008029834198-PCT00009
여기서,
Figure 112008029834198-PCT00010
는 데이터의 부족을 방지하기 위하여 작은 양수이다.
매크로블록의 모드는 공간적 및 시간적 이웃들에 상관된다. 즉, 일반적으로 공간적 및 시간적 인접 매크로블록들에 대하여 유사한 모드들을 유지하는 것이 바람직하다. 이러한 공간적 및 시간적 이웃들의 모드들은 매크로블록 모드 맵을 한정할 수 있다. 스무스한(smooth) 매크로블록 모드 맵을 유지하면 매크로블록-코딩된 모드들을 나타내기 위하여 사용된 비트들이 감소될 수 있다.
매크로블록이 프레임의 코너에 있는지, 프레임의 가장자리에 있는지 또는 프레임 내부에 있는지의 여부에 따라 현재의 매크로블록이 4 내기 9개의 이웃들을 가질 수 있다는 것이 도 5로부터 알 수 있다. 도 5에 도시된 이웃들중에서, 상부 좌 측(UL), 상부(U), 상부 우측(UR), 및 좌측(L)은 현재의 프레임에서, 즉 프레임내의 공간 이웃들로부터 결정된 모드들을 가진다. 코너(C), 우측(R), 하부 좌측(BL), 하부(B) 및 하부 우측(BR)의 모드는 이전 프레임, 즉 인접 프레임내의 시간적 이웃들로부터 획득될 수 있다.
모드 선택 유닛(20)은 다음과 같이 계산될 수 있다.
Figure 112008029834198-PCT00011
여기서,
Figure 112008029834198-PCT00012
는 지시자 함수이다. 지시자 함수는 세트의 부세트의 엘리먼트의 멤버십(membership)을 지시하는 세트에 대하여 한정된 함수를 언급한다. 앞의 예에서, 2배 가중치(double weight)는 현재의 매크로블록에 대한 더 근접한 공간적 및 시간적 거리로 인하여 다른 시간적 이웃들에 대한 4개의 공간적 원인 이웃들(spatially causal neighbor)(UL, U, UR, L) 및 시간적 중심 이웃(C)에 적용된다.
모드 선택 유닛(20)은 또한 다음과 같이 인터-플래너 세트 및 인터-디테일 세트에서 모드들의 가설적 확률들을 결정할 수 있다.
Figure 112008029834198-PCT00013
여기서,
Figure 112008029834198-PCT00014
는 모드 결정시에 인접 매크로블록 모드들의 중요도를 조절하기 위한 가중 인자이다.
모드 선택 유닛(20)은 신뢰 레벨(confidence level)을 "t"로 한정할 수 있다. 그 다음에, 모드 선택 유닛(20)은 다음과 같이 업데이트된 가설적 확률들을 계산할 수 있다.
Figure 112008029834198-PCT00015
모드들의 세트가 (w/o) 풀 레이트-왜곡(full rate-distortion)(R-D) 탐색없이 선택될때 앞의 경우들에서 계산이 감소된다. 모든 프레임의 끝에서, 모드 선택 유닛(20)은 현재 프레임 가설 확률들의 히스토그램을 발견할 수 있다. 현재 프레임 가설 확률들은
Figure 112008029834198-PCT00016
Figure 112008029834198-PCT00017
로 표시될 수 있다. 따라서, 장기간(long-term) 가설 확률은 다음과 같은 방식으로 업데이트될 수 있다.
Figure 112008029834198-PCT00018
여기서,
Figure 112008029834198-PCT00019
는 업데이트 속도를 조절하기 위한 가중 인자이다.
계산 부하 및 PSNR 성능간의 교환을 고려함으로서, 파라미터 세트
Figure 112008029834198-PCT00020
=0.10 및
Figure 112008029834198-PCT00021
=0.2, t=0.90는 모드 선택 유닛(20)에서 선택될 수 있다. 신뢰 레벨은 또한 인코딩된 멀티미디어 시퀀스들에서 다른 품질 레벨 및 복잡성을 달성하도록 조절될 수 있다. 시뮬레이션 결과들은 이들 기술들의 구현이 대략 0.1 ∼ 0.14 dB의 무시할 수 있는 PSNR 손실을 유지하면서 전체 탐색들에 비하여 약 1/6 정도 전체적으로 탐색된 매크로블록 베이(bay)의 수를 감소시킬 수 있다.
도 6은 인코더를 포함할 수 있고 멀티미디어 데이터를 인코딩하여 전송할 수 있는 디지털 비디오 장치의 부분을 형성할 수 있는 인코딩 모듈(100)을 도시한 블록도이다. 인코딩 모듈(100)은 인터-코딩동안 모션 추정 프로세스의 일부분으로서 모션 선택 기술들을 수행하는 모드 선택 모듈(120)을 포함한다. 인코딩 모듈(120)은 또한 각각이 모션 추정기 및 모션 보상기를 포함할 수 있는 모션 추정 모듈(122) 및 모션 보상 모듈(124)을 포함한다. 인코딩 모듈(100)은 메모리 유닛 등일 수 있는 저장 모듈(125)을 포함할 수 있다. 인코딩 모듈(100)은 잔류 코더를 포함할 수 있는 잔류 코딩 모듈(126)을 포함할 수 있다.
인코딩 프로세스동안, 모션 추정 모듈(122)은 모션 추정 프로세스를 수행하며, 모션 보상 모듈(124)은 모션 보상 프로세스를 수행한다. 이러한 인코딩 프로세스에서 사용된 데이터는 저장 모듈(125)로부터 액세스될 수 있다. 모션 추정 및 모션 보상 프로세스들이 수행된후에, 잔류 코딩 모듈(126)은 잔류 블록들상에서 하나 이상의 잔류 코딩 단계들을 수행할 수 있다.
본 발명에 따르면, 모션 추정동안, 모션 선택 모듈(120)은 각각의 매크로블록에 대한 거의 가능성없는 모드들과 연관된 모드 탐색들을 제거하기 위하여 멀티미디어 시퀀스의 프레임들의 매크로블록들에 대하여 사전-처리 절차를 수행한다. 특히, 모드 선택 모듈(120)은 모든 인터-코딩된 매크로블록에 대한 디테일 메트릭을 한정하며, 인접 블록들과 연관된 모드 정보를 사용한다. 모드 선택 모듈(120)은 확률 방정식들을 사용할 수 있으며, 확률 방정식들은 인접 블록들과 연관된 모드 정보 및 디테일 메트릭을 포함할 수 있다.
확률 방정식들에서 통계는 각각의 매크로블록에 대한 각각의 모드 선택후에 업데이트될 수 있으며, 확률 방정식들에 대한 업데이트들은 다음 매크로블록들의 모드 선택 결정을 위하여 사용될 수 있다. 이러한 방식에서, 모드 선택 모듈(120)은 전체 모션 멀티미디어 시퀀스에 대한 모드 선택을 개선하기 위하여 주어진 시퀀스의 콘텐츠에 적응될 수 있다. 결국, 모드 선택 모듈(120)은 가능한 멀티미디어 코딩 모드들의 선택된 세트로부터 각각의 매크로블록을 코딩하는 모드를 선택한다. 많은 경우에, 모드 선택 모듈(120)에 의하여 실행된 기술들은 멀티미디어 코딩 모드들의 비선택 세트의 매크로블록에 대한 모드들과 연관된 모션 탐색들을 방지하는 데 도움을 줄 수 있다.
본 발명에 따르면, 멀티미디어 코딩 모드들의 세트를 선택하는 수단은 모드 선택 유닛(20(도 1) 또는 선택 모듈(120)(도 6)을 포함할 수 있다. 유사하게, 모션 추정 수단은 모션 추정기/공간 추정기(22)(도 1) 또는 모션 추정 모듈(122)(도 6)을 포함할 수 있다. 모션 보상 수단은 모션 보상기/인트라-예측 유닛(24)(도 1) 또는 모션 보상 모듈(124)(도 6)을 포함할 수 있으며, 잔류 코딩 수단은 잔류 코더(26)(도 1) 또는 잔류 코딩 모듈(126)(도 6)을 포함할 수 있다. 저장수단은 탐색 공간(25)(도 1) 또는 저장 모듈(125)(도 6)을 포함할 수 있다. 통계 업데이트 수단은 모드 선택 결정을 위한 확률 방정식들을 업데이트하기 위하여 사용될 수 있으며, 업데이트 수단은 도 4에 도시된 것과 유사한 히스토그램들과 같은 히스토그램들 등에 대하여 통계 업데이트들을 수행하도록 설계 또는 프로그래밍된 임의의 하드웨어, 소프트웨어, 펌웨어 등을 포함할 수 있다.
다수의 실시예들이 설명되었다. 특히, 모드 선택 기술들은 적절한 인코딩 레이트 및 허용가능한 왜곡 레벨들(즉, 허용가능한 레이트-왜곡)을 달성하기 위하여 매크로블록들에 대한 인코딩 모드들이 결정될 수 있도록 모션 추정 프로세스와 관련하여 설명되었다. 설명된 바와같이, 기술들은 각각의 매크로블록들에 대한 인접 블록들과 연관된 모드 정보와 모든 매크로블록에 대한 디테일 메트릭을 이용할 수 있다. 확률 방정식들은 인접 블록들과 연관된 모드 정보 및 디테일 메트릭을 사용하기 위하여 구현될 수 있다. 기술들은 모드들의 적어도 2개의 세트들을 한정할 수 있으며, 이들 세트들중 하나가 선택될 수 있으며, 따라서 모드들의 다른 세 트와 연관된 불필요한 탐색들이 제거된다. 기술들은 또한 다른 블록 크기들, 즉 16×16 매크로블록과 다른 블록 크기들에 대하여 적용할 수 있다. 지원되는 모드들 및 블록의 크기는 각각의 코딩 표준에 의하여 정의될 수 있다. 임의의 경우에, 블록은 블록의 구획들 및/또는 부구획들에 의하여 한정된 여러 가능한 모드들을 가질 수 있으며, 여기에서 설명된 기술들은 모드 선택을 개선하기 위하여 사용될 수 있다.
여기에서 설명된 기술들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 만일 소프트웨어로 구현되면, 기술들은 실행될때 여기에서 설명된 기술들중 하나 이상을 수행하는 명령들을 포함하는 프로그램 코드를 포함하는 컴퓨터 판독가능 매체(또는 다른 머신-판독가능 매체)에 의하여 부분적으로 실현될 수 있다. 이러한 경우에, 컴퓨터-판독가능 매체는 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 랜덤 액세스 메모리(RAM), 판독전용 메모리(ROM), 비휘발성 랜덤 액세스 메모리(NVRAM), 전기적 소거가능 프로그램가능 판독전용 메모리(EEPROM), FLASH 메모리, 자기 또는 광 데이터 저장 매체 등을 포함할 수 있다.
명령들은 하나 이상의 디지털 신호 프로세서(DSP), 범용 마이크로프로세서, 주문형 집적회로(ASIC), 필드 프로그램가능 논리 어레이(FPGA) 또는 다른 등가 집적 또는 개별 논리 회로와 같은 하나 이상의 프로세서 또는 다른 머신에 의하여 실행될 수 있다. 일반적으로, 명령들을 실행하는 머신은 장치를 포함할 수 있다. 일부 실시예들에 있어서, 여기에서 설명된 기능들은 인코딩 및 디코딩을 위하여 구성된 전용 소프트웨어 모듈들 또는 하드웨어 모듈들 또는 유닛들내에 제공되거나 또는 결합형 비디오 인코더-디코더(CODEC)에 통합될 수 있다.
그럼에도 불구하고, 이하의 청구범위로부터 벗어나지 않고 설명된 기술들에 대한 다양한 수정이 이루어질 수 있다. 따라서, 앞서 설명된 특정 실시예들 및 다른 실시예들은 이하의 청구범위내에 있다.

Claims (38)

  1. 멀티미디어 데이터를 처리하기 위한 방법으로서,
    블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 단계를 포함하는, 멀티미디어 데이터 처리 방법.
  2. 제 1항에 있어서, 상기 블록은 16화소×16 화소 매크로블록을 포함하는, 멀티미디어 데이터 처리 방법.
  3. 제 1항에 있어서, 상기 멀티미디어 코딩 모드들은 구획들(partition), 부구획들(sub-partition) 또는 구획들 및 부구획들에 의하여 상기 블록의 그래뉼래러티(granularity)를 한정하는, 멀티미디어 데이터 처리 방법.
  4. 제 1항에 있어서, 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 선택하는 상기 단계는 인터-플래너(inter-planar) 모드들의 세트 및 인터-디테일(inter-detail) 모드들의 세트중 어느 하나를 선택하는 단계를 포함하는, 멀티미디어 데이터 처리 방법.
  5. 제 4항에 있어서, 상기 인터-플래너 모드들은 인터 16×16 모드(inter 16 by 16 mode), 인터 16×8 모드 및 인터 8×16 모드를 포함하며, 상기 인터-디테일 모드들은 인터 8×8모드, 인터 8×4 모드, 인터 4×8모드 및 인터 4×4모드를 포함하는, 멀티미디어 데이터 처리 방법.
  6. 제 1항에 있어서, 상기 선택은 하나 이상의 확률 방정식들에 기초하며, 상기 확률 방정식은 상기 인접 블록들과 연관된 상기 모드 정보 및 상기 디테일 메트릭을 변수들로서 포함하는, 멀티미디어 데이터 처리 방법.
  7. 제 6항에 있어서, 상기 멀티미디어 시퀀스의 프레임의 다음 블록들에 대한 모드 선택 결정들을 위한 하나 이상의 확률 방정식들에서 통계(statistics)를 업데이트하는 단계를 더 포함하는, 멀티미디어 데이터 처리 방법.
  8. 제 1항에 있어서, 상기 디테일 메트릭은 상기 블록의 시간적 및 공간적 디테일을 나타내는, 멀티미디어 데이터 처리 방법.
  9. 제 1항에 있어서, 상기 블록에 대한 인접 블록들과 연관된 상기 모드 정보는 상기 프레임내의 블록들의 제 1 부세트와 다른 프레임내의 블록들의 제 2 부세트에 의하여 정의되는, 멀티미디어 데이터 처리 방법.
  10. 제 9항에 있어서, 상기 다른 프레임내의 블록들의 제 2 부세트와 다르게 상기 프레임내의 블록들의 제 1 부세트를 가중하는 단계를 더 포함하는, 멀티미디어 데이터 처리 방법.
  11. 제 1항에 있어서, 가능한 멀티미디어 코딩 모드들의 선택된 세트로부터 상기 블록을 코딩하는 모드를 선택하는 단계를 더 포함하는, 멀티미디어 데이터 처리 방법.
  12. 제 11항에 있어서, 상기 멀티미디어 코딩 모드들의 비선택 세트의 상기 블록들에 대한 모드들과 연관된 모션 탐색들을 막는 단계를 더 포함하는, 멀티미디어 데이터 처리 방법.
  13. 멀티미디어 데이터를 처리하기 위한 장치로서,
    블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 인코더를 포함하는, 멀티미디어 데이터 처리 장치.
  14. 제 13항에 있어서, 상기 블록은 16화소×16 화소 매크로블록을 포함하는, 멀티미디어 데이터 처리 장치.
  15. 제 13항에 있어서, 상기 멀티미디어 코딩 모드들은 구획들, 부구획들 또는 구획들 및 부구획들에 의하여 상기 블록의 그래뉼래러티(granularity)를 한정하는, 멀티미디어 데이터 처리 장치.
  16. 제 13항에 있어서, 상기 인코더는 인터-플래너(inter-planar) 모드들의 세트 및 인터-디테일(inter-detail) 모드들의 세트중 어느 하나를 선택함으로서 가능한 멀티미디어 코딩 모드들의 적어도 두개의 세트로부터 선택하며, 상기 인터-플래너 모드들은 인터 16×16 모드, 인터 16×8 모드 및 인터 8×16 모드를 포함하며, 상기 인터-디테일 모드들은 인터 8×8모드, 인터 8×4 모드, 인터 4×8모드 및 인터 4×4모드를 포함하는, 멀티미디어 데이터 처리 장치.
  17. 제 13항에 있어서, 상기 인코더는 하나 이상의 확률 방정식들에 기초하여 상기 멀티미디어 코딩 모드들의 세트를 선택하며, 상기 하나 이상의 확률 방정식은 상기 인접 블록들과 연관된 상기 모드 정보 및 상기 디테일 메트릭을 변수들로서 포함하는, 멀티미디어 데이터 처리 장치.
  18. 제 17항에 있어서, 상기 인코더는 상기 멀티미디어 시퀀스의 프레임의 다음 블록들에 대한 모드 선택 결정들을 위한 하나 이상의 확률 방정식들에서 통계를 업데이트하는, 멀티미디어 데이터 처리 장치.
  19. 제 13항에 있어서, 상기 디테일 메트릭은 상기 블록의 시간적 및 공간적 디테일을 나타내며, 상기 블록에 대한 인접 블록들과 연관된 상기 모드 정보는 상기 프레임내의 블록들의 제 1 부세트와 다른 프레임내의 블록들의 제 2 부세트에 의하여 정의되는, 멀티미디어 데이터 처리 장치.
  20. 제 19항에 있어서, 상기 인코더는 상기 다른 프레임내의 블록들의 제 2 부세트와 다르게 상기 프레임내의 블록들의 제 1 부세트를 가중하는, 멀티미디어 데이터 처리 장치.
  21. 제 13항에 있어서, 상기 인코더는 가능한 멀티미디어 코딩 모드들의 선택된 세트로부터 상기 블록을 코딩하는 모드를 선택하는, 멀티미디어 데이터 처리 장치.
  22. 제 21항에 있어서, 상기 인코더는 상기 멀티미디어 코딩 모드들의 비선택 세트의 블록들에 대한 모드들과 연관된 모션 탐색들을 막는, 멀티미디어 데이터 처리 장치.
  23. 멀티미디어 데이터를 처리하기 위한 프로세서로서,
    상기 프로세서는 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하도록 구성된, 프로세서.
  24. 제 23항에 있어서, 상기 블록은 16화소×16 화소 매크로블록을 포함하는, 프로세서.
  25. 제 23항에 있어서, 상기 멀티미디어 코딩 모드들은 구획들, 부구획들 또는 구획들 및 부구획들에 의하여 상기 블록의 그래뉼래러티(granularity)를 한정하는, 프로세서.
  26. 제 23항에 있어서, 상기 프로세서는 인터-플래너(inter-planar) 모드들의 세트 및 인터-디테일(inter-detail) 모드들의 세트중 어느 하나를 선택함으로서 가능한 멀티미디어 코딩 모드들의 적어도 두개의 세트로부터 선택하도록 구성되며, 상기 인터-플래너 모드들은 인터 16×16 모드, 인터 16×8 모드 및 인터 8×16 모드를 포함하며, 상기 인터-디테일 모드들은 인터 8×8모드, 인터 8×4 모드, 인터 4×8모드 및 인터 4×4모드를 포함하는, 프로세서.
  27. 제 23항에 있어서, 상기 프로세서는 하나 이상의 확률 방정식들에 기초하여 상기 멀티미디어 코딩 모드들의 세트를 선택하도록 구성되며, 상기 하나 이상의 확률 방정식은 상기 인접 블록들과 연관된 모드 정보 및 상기 디테일 메트릭을 변수 들로서 포함하는, 프로세서.
  28. 제 27항에 있어서, 상기 프로세서는 상기 멀티미디어 시퀀스의 프레임의 다음 블록들에 대한 모드 선택 결정들을 위한 하나 이상의 확률 방정식들에서 통계를 업데이트하도록 구성되는, 프로세서.
  29. 멀티미디어 데이터를 처리하기 위한 명령들을 포함하는 머신-판독가능 매체로서,
    상기 명령들은 실행시 머신으로 하여금 블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하도록 하는, 머신-판독가능 매체.
  30. 제 29항에 있어서, 상기 멀티미디어 코딩 모드들은 구획들, 부구획들 또는 구획들 및 부구획들에 의하여 상기 블록의 그래뉼래러티(granularity)를 한정하는, 머신-판독가능 매체.
  31. 제 29항에 있어서, 상기 명령들은 인터-플래너(inter-planar) 모드들의 세트 및 인터-디테일(inter-detail) 모드들의 세트중 어느 하나를 선택함으로서 가능한 멀티미디어 코딩 모드들의 적어도 두개의 세트로부터 선택하며, 상기 인터-플래너 모드들은 인터 16×16 모드, 인터 16×8 모드 및 인터 8×16 모드를 포함하며, 상기 인터-디테일 모드들은 인터 8×8모드, 인터 8×4 모드, 인터 4×8모드 및 인터 4×4모드를 포함하는, 머신-판독가능 매체.
  32. 제 29항에 있어서, 상기 명령들은 하나 이상의 확률 방정식들에 기초하여 상기 멀티미디어 코딩 모드들의 세트를 선택하며, 상기 하나 이상의 확률 방정식은 상기 인접 블록들과 연관된 모드 정보 및 상기 디테일 메트릭을 변수들로서 포함하는, 머신-판독가능 매체.
  33. 제 32항에 있어서, 상기 명령들은 상기 멀티미디어 시퀀스의 프레임의 다음 블록들에 대한 모드 선택 결정들을 위한 하나 이상의 확률 방정식들에서 통계를 업데이트하는, 머신-판독가능 매체.
  34. 멀티미디어 데이터를 처리하기 위한 장치로서,
    블록과 연관된 디테일 메트릭(detail metric) 및 상기 블록에 대한 인접 블록들과 연관된 모드 정보에 기초하여 멀티미디어 프레임의 블록에 대한 가능한 멀티미디어 코딩 모드들의 적어도 2개의 세트로부터 멀티미디어 코딩 모드들의 세트를 선택하는 수단을 포함하는, 멀티미디어 데이터 처리 장치.
  35. 제 34항에 있어서, 상기 멀티미디어 코딩 모드들은 구획들, 부구획들 또는 구획들 및 부구획들에 의하여 상기 블록의 그래뉼래러티(granularity)를 한정하는, 멀티미디어 데이터 처리 장치.
  36. 제 34항에 있어서, 상기 수단은 인터-플래너(inter-planar) 모드들의 세트 및 인터-디테일(inter-detail) 모드들의 세트중 어느 하나를 선택함으로서 가능한 멀티미디어 코딩 모드들의 적어도 두개의 세트로부터 선택하며, 상기 인터-플래너 모드들은 인터 16×16 모드, 인터 16×8 모드 및 인터 8×16 모드를 포함하며, 상기 인터-디테일 모드들은 인터 8×8모드, 인터 8×4 모드, 인터 4×8모드 및 인터 4×4모드를 포함하는, 멀티미디어 데이터 처리 장치.
  37. 제 34항에 있어서, 상기 수단은 하나 이상의 확률 방정식들에 기초하여 상기 멀티미디어 코딩 모드들의 세트를 선택하며, 상기 하나 이상의 확률 방정식은 상기 인접 블록들과 연관된 모드 정보 및 상기 디테일 메트릭을 변수들로서 포함하는, 멀티미디어 데이터 처리 장치.
  38. 제 34항에 있어서, 상기 멀티미디어 시퀀스의 프레임의 다음 블록들에 대한 모드 선택 결정들을 위한 하나 이상의 확률 방정식들에서 통계를 업데이트하는 수단을 더 포함하는, 멀티미디어 데이터 처리 장치.
KR1020087009990A 2005-09-27 2006-09-27 멀티미디어 코딩을 위한 모드 선택 기술 KR100957316B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US72141805P 2005-09-27 2005-09-27
US60/721,418 2005-09-27
US11/509,214 US8446954B2 (en) 2005-09-27 2006-08-23 Mode selection techniques for multimedia coding
US11/509,214 2006-08-23

Publications (2)

Publication Number Publication Date
KR20080067631A true KR20080067631A (ko) 2008-07-21
KR100957316B1 KR100957316B1 (ko) 2010-05-12

Family

ID=37873111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087009990A KR100957316B1 (ko) 2005-09-27 2006-09-27 멀티미디어 코딩을 위한 모드 선택 기술

Country Status (8)

Country Link
US (1) US8446954B2 (ko)
EP (1) EP1938617A2 (ko)
JP (1) JP5301277B2 (ko)
KR (1) KR100957316B1 (ko)
CN (1) CN101313587B (ko)
AR (1) AR055186A1 (ko)
TW (1) TW200746834A (ko)
WO (1) WO2007038722A2 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100871646B1 (ko) * 2004-07-15 2008-12-02 콸콤 인코포레이티드 인트라-예측 방향에 기반한 h.264 공간 에러 은닉 방법 및장치
US9055298B2 (en) * 2005-07-15 2015-06-09 Qualcomm Incorporated Video encoding method enabling highly efficient partial decoding of H.264 and other transform coded information
US8229983B2 (en) * 2005-09-27 2012-07-24 Qualcomm Incorporated Channel switch frame
NZ566935A (en) * 2005-09-27 2010-02-26 Qualcomm Inc Methods and apparatus for service acquisition
US8149909B1 (en) 2005-10-13 2012-04-03 Maxim Integrated Products, Inc. Video encoding control using non-exclusive content categories
US8081682B1 (en) * 2005-10-13 2011-12-20 Maxim Integrated Products, Inc. Video encoding mode decisions according to content categories
US8126283B1 (en) 2005-10-13 2012-02-28 Maxim Integrated Products, Inc. Video encoding statistics extraction using non-exclusive content categories
EP2129129B1 (en) 2006-11-14 2013-09-18 Qualcomm Incorporated Systems and methods for channel switching
JP2010510725A (ja) * 2006-11-15 2010-04-02 クゥアルコム・インコーポレイテッド チャネル切り替えフレームを用いたアプリケーションのシステム及び方法
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
KR101350723B1 (ko) * 2008-06-16 2014-01-16 돌비 레버러토리즈 라이쎈싱 코오포레이션 비디오 코딩을 위한 슬라이스 종속성에 기초한 레이트 제어 모델 적응 방법
US8311115B2 (en) * 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
CN104065961B (zh) 2009-03-23 2016-05-11 株式会社Ntt都科摩 图像预测编码装置及其方法、图像预测解码装置及其方法
BR122015017701B1 (pt) * 2009-05-29 2021-06-01 Mitsubishi Electric Corporation Método de decodificação de imagem
US8270473B2 (en) * 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
CN102474601B (zh) * 2009-06-29 2017-06-23 汤姆森特许公司 未编码语法的自适应概率更新的方法和装置
ES2901793T3 (es) 2010-05-25 2022-03-23 Lg Electronics Inc Nuevo modo de predicción plano
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
WO2012011432A1 (ja) 2010-07-20 2012-01-26 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム
US10171813B2 (en) 2011-02-24 2019-01-01 Qualcomm Incorporated Hierarchy of motion prediction video blocks
GB2494469B (en) * 2011-09-12 2015-04-01 Canon Kk Method and device for encoding or decoding information representing prediction modes
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
JPWO2013125171A1 (ja) * 2012-02-20 2015-07-30 日本電気株式会社 イントラ予測モード判定装置、イントラ予測モード判定方法、及びイントラ予測モード判定プログラム
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US9503723B2 (en) 2013-01-11 2016-11-22 Futurewei Technologies, Inc. Method and apparatus of depth prediction mode selection
US20140219331A1 (en) * 2013-02-06 2014-08-07 Magnum Semiconductor, Inc. Apparatuses and methods for performing joint rate-distortion optimization of prediction mode
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
WO2016030706A1 (en) * 2014-08-25 2016-03-03 Intel Corporation Selectively bypassing intra prediction coding based on preprocessing error data
US10142626B2 (en) * 2014-10-31 2018-11-27 Ecole De Technologie Superieure Method and system for fast mode decision for high efficiency video coding
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
GB2553557B (en) * 2016-09-08 2022-04-20 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
US20190045195A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Reduced Partitioning and Mode Decisions Based on Content Analysis and Learning
US20200068214A1 (en) * 2018-08-27 2020-02-27 Ati Technologies Ulc Motion estimation using pixel activity metrics
KR20220157765A (ko) * 2021-05-21 2022-11-29 삼성전자주식회사 영상 부호화 장치 및 이의 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697430B1 (en) * 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7953152B1 (en) * 2004-06-28 2011-05-31 Google Inc. Video compression and encoding method
TWI256258B (en) * 2004-12-16 2006-06-01 Ind Tech Res Inst Method to speed up the mode decision of video coding

Also Published As

Publication number Publication date
JP2009510935A (ja) 2009-03-12
EP1938617A2 (en) 2008-07-02
CN101313587A (zh) 2008-11-26
JP5301277B2 (ja) 2013-09-25
KR100957316B1 (ko) 2010-05-12
TW200746834A (en) 2007-12-16
CN101313587B (zh) 2013-09-18
WO2007038722A2 (en) 2007-04-05
WO2007038722A3 (en) 2007-07-12
US20070071105A1 (en) 2007-03-29
AR055186A1 (es) 2007-08-08
US8446954B2 (en) 2013-05-21

Similar Documents

Publication Publication Date Title
KR100957316B1 (ko) 멀티미디어 코딩을 위한 모드 선택 기술
US7693219B2 (en) System and method for fast motion estimation
US8155191B2 (en) Method and apparatus for fast mode decision of B-frames in a video encoder
US8385416B2 (en) Method and apparatus for fast mode decision for interframes
KR100960249B1 (ko) Min-max 접근법을 이용하여 비디오 코딩을 하기 위한2 패스 레이트 제어 기술
KR100974025B1 (ko) 레이트-왜곡 특징들을 사용하는 비디오 코딩을 위한 2 패스레이트 제어 기술들
US7881386B2 (en) Methods and apparatus for performing fast mode decisions in video codecs
KR20110009141A (ko) 비디오 부호화 및 복호화에서의 템플릿 매칭 예측을 위한 방법 및 장치
KR20070005848A (ko) 인트라 예측 모드 결정 방법 및 장치
EP2710802A1 (en) Rate -distortion optimization for video coding
CN114339218A (zh) 图像编码方法、图像编码装置、电子设备和可读存储介质
CN101331773A (zh) 使用速率失真特性进行视频编码的两遍速率控制技术
Goel et al. Adaptive search window size algorithm for fast motion estimation in H. 264/AVC standard
KR100845303B1 (ko) 고속 부호화를 위한 되먹임 구조를 가진 동영상 압축부호화 장치 및 최적 모드 결정 방법
Wang et al. Low complexity encoder optimization for HEVC
JP5649296B2 (ja) 画像符号化装置
JP2005268879A (ja) 画像符号化方法およびその装置
Zhang et al. Fast inter frame encoding based on modes pre-decision in H. 264
Hsu et al. Fast reference frame selection method for motion estimation in JVT/H. 264
KR100701129B1 (ko) 영상 부호화기에서 고속 블록 모드 결정 방법
Liu et al. A fast and novel intra and inter modes decision prediction algorithm for H. 264/AVC based on the characteristics of macro-block
KR100939280B1 (ko) 다중 참조 프레임을 이용한 비디오 부호화 방법 및 그방법이 기록된 컴퓨터로 판독 가능한 기록매체
Ji et al. Reduced computation using adaptive search window size for H. 264 multi-frame motion estimation
Paul et al. Efficient H. 264/AVC video encoder where pattern is used as extra mode for wide range of video coding
Sun et al. An efficient multi-frame dynamic search range motion estimation for H. 264

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170330

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190327

Year of fee payment: 10