KR101271512B1 - 적응형 비디오 인코더 제어 방법 - Google Patents

적응형 비디오 인코더 제어 방법 Download PDF

Info

Publication number
KR101271512B1
KR101271512B1 KR1020117008731A KR20117008731A KR101271512B1 KR 101271512 B1 KR101271512 B1 KR 101271512B1 KR 1020117008731 A KR1020117008731 A KR 1020117008731A KR 20117008731 A KR20117008731 A KR 20117008731A KR 101271512 B1 KR101271512 B1 KR 101271512B1
Authority
KR
South Korea
Prior art keywords
multiplier
lagrange
lagrange multiplier
lagrangian
coding
Prior art date
Application number
KR1020117008731A
Other languages
English (en)
Other versions
KR20110056326A (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 KR20110056326A publication Critical patent/KR20110056326A/ko
Application granted granted Critical
Publication of KR101271512B1 publication Critical patent/KR101271512B1/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/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/19Methods 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 using optimisation based on Lagrange multipliers
    • 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
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

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)

Abstract

하나 이상의 라그랑지 승수들의 값은 비디오 자원 통계치들 또는 동적 프로그래밍에 적어도 부분적으로 기초하여 적응하여 추정되고 갱신된다. 방법, 기술들 및 시스템들은 제 1 라그랑지 승수를 비디오 인코더로 결정하는 단계 및 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계를 포함한다. 상기 시스템은 라그랑지 승수를 추정하는 라그랑지 승수 추정 모듈 및 추정된 라그랑지 승수를 이용하여 현재 라그랑지 승수를 갱신하는 라그랑지 승수 갱신 모듈을 포함할 수 있다. 온라인 라그랑지 승수 추정 모듈은 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정; 국소 근사화에 의한 레이트 왜곡 경사 추정; 국소 정보에 의한 레이트 왜곡 경사 추정; 또는 글로벌 정보에 의한 레이트 왜곡 경사 추정으로 기능을 할 수 있다. 라그랑지 승수 갱신 모듈은 직접 갱신; 단계적 크기 갱신; 슬라이딩 윈도 갱신; 또는 주기적 갱신으로 기능을 할 수 있다.

Description

적응형 비디오 인코더 제어 방법{ADAPTIVE VIDEO ENCODER CONTROL}
관련 출원에 대한 상호 참조
본 출원은 2008년 9월 16일에 출원되고, 전체가 본 명세서에 참조로 포함되어 있는 미국 가출원 번호 제 61/097,269호에 대한 우선권의 이득을 주장한다.
본 출원은 일반적으로 비디오 기술에 관한 것이고, 보다 구체적으로는 비디오 코딩(video coding)에 관한 것이다.
본 명세서에 사용되는 바와 같이, "이미지 특징(image feature)"이라는 용어는 필드(field) 내에 하나 이상의 영상 요소(예를 들어, 하나 이상의 픽셀)를 가리킬 수 있다. 본 명세서에 사용되는 바와 같이, "소스 필드(source field)"라는 용어는 이미지 특정과 관련된 정보가 결정되거나 도출될 수 있는 필드를 가리킬 수 있다. 본 명세서에 사용되는 바와 같이, "중간 필드(intermediate field)"라는 용어는 이미지 특징과 관련되는 소스 필드를 참조하여 기술될 수 있는 비디오 시퀀스(video sequence) 내의 소스 필드를 일시적으로 따르거나 앞서는 필드를 가리킬 수 있다. 본 명세서에 사용되는 바와 같이, "변이 추정(disparity estimation)"이라는 용어는, 예를 들어, 비디오 시퀀스의 둘 이상의 필드 사이에서의 모션, 또는 이미지, 이미지의 영역, 블록, 또는 픽셀 및 예측 신호의 다른 차이가 효율적으로 예측되거나, 모델링(modeling)되거나, 또는 기술될 수 있는 모션 벡터(motion vector) 또는 다른 파라메트릭 값(parametric value)을 계산하기 위한 기술을 가리킬 수 있다. 변이 추정의 예는 모션 추정일 수 있다. 본 명세서에 사용되는 바와 같이, 용어 "변이 추정치(disparity estimate)"는 모션 벡터 또는 다른 추정된 파라메트릭 예측 관련 값을 가리킬 수 있다. 본 명세서에 사용되는 바와 같이, "변이 보상(disparity compensation)"은 모션 추정치 또는 다른 파라미터가 소스 필드 내의 이미지 특징의 위치에 있어서의 공간 편이(spatial shift)을 계산하여 비디오 시퀀스의 하나 이상의 중간 필드들 내의 이미지 특징의 모션 또는 일부 파라미터를 기술하는데 이용될 수 있다. 변이 보상의 예는 모션 보상일 수 있다. 상기 용어는 또한 다른 비디오 코딩 개념(예를 들어, 화면 내 예측(intra prediction) 및 조도 보상(illumination compensation))과 함께 이용될 수 있다.
하나 이상의 라그랑지 승수(Lagrangian multiplier)의 값이 비디오 자원 통계치 또는 동적 프로그래밍에 적어도 부분적으로 기초하여 적응하여 추정되고 갱신되는 방법, 컴퓨터 프로그램, 및 시스템이 제공된다.
본 발명에 따른 방법, 기술 및 시스템은 제 1 라그랑지 승수를 비디오 인코더로 결정하는 단계와 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계를 포함한다. 상기 시스템은 라그랑지 승수를 추정하는 라그랑지 승수 추정 모듈 및 추정된 라그랑지 승수를 이용하여 현재 라그랑지 승수를 갱신하는 라그랑지 승수 갱신 모듈을 포함할 수 있다. 온라인 라그랑지 승수 추정 모듈은 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정; 국소 근사화에 의한 레이트 왜곡 경사 추정; 국소 정보에 의한 레이트 왜곡 경사 추정; 또는 글로벌 정보에 의한 레이트 왜곡 경사 추정으로 기능을 할 수 있다. 라그랑지 승수 갱신 모듈은 직접 갱신; 단계적 크기 갱신; 슬라이딩 윈도 갱신; 또는 주기적 갱신으로 기능을 할 수 있다.
상술한 바와 같이 본 발명에 의해 하나 이상의 라그랑지 승수의 값이 비디오 자원 통계치 또는 동적 프로그래밍에 적어도 부분적으로 기초하여 적응하여 추정되고 갱신된다.
도 1은 비디오 인코더의 예를 도시한 도면.
도 2는 비디오 디코더의 예를 도시한 도면.
도 3은 라그랑지(Lagrangian) 최적화 함수의 예를 도시한 도면.
도 4a는 라그랑지 최적화 함수의 예를 추정하기 갱신하기 위한 예시 프로세수의 흐름도.
도 4b는 라그랑지 승수를 추정하고 갱신하기 위한 예시적인 시스템을 도시한 도면.
도 5는 라그랑지 최적화 함수의 예를 도시한 도면.
도 6은 레이트 왜곡 최적화 모드 판정에 의한 레이트 왜곡 경사 추정의 예에 대한 흐름도.
도 7은 국소 근사화(local approximation)에 의한 레이트 왜곡 경사 추정의 예에 대한 흐름도.
도 8은 국소 정보에 의한 예시 레이트 왜곡 경사 추정의 흐름도.
도 9는 코딩 파라미터(coding parameter) 및 국소 정보에 의한 예시 검색표를 도시한 도면.
도 10은 글로벌 정보(global information)에 의한 예식 레이트 왜곡 추정에 대한 흐름도.
도 11은 계층 예측 구조에 의한 예시적인 영상의 그룹(Group of Pictures: GOP)에 의한 도면.
도 12는 예시 라그랑지 승수 갱신 모듈의 블록도.
도 13은 개시된 기술들을 구비한 예시 시스템을 도시한 도면.
다양한 도면들에서의 동일한 참조 번호들 및 동일하게 지정된 것들은 동일한 요소들을 표시할 수 있다.
비디오 압축 및 비디오 코딩과 관련되는 예시적인 실시예가 본원에 기술된다. 다음의 서술에서, 설명을 위해, 본 발명의 철저한 이해를 제공하기 위해 많은 특정 세부사항들이 진술된다. 그러나, 본 발명의 실시예는 이 특정한 세부사항들이 아니어도 실시될 수 있음이 인식될 것이다. 다른 예에서, 널리 공지되어 있는 구조들 및 디바이스들은 본 발명을 필요없이 모호하게 하는 것을 방지하기 위해 블록도 형태로 도시된다. 하나 이상의 실시예들의 세부사항들은 아래 첨부 도면들 및 설명에서 진술된다. 다른 특성, 목적, 및 양태들은 설명 및 도면들로부터 그리고 청구항들로부터 명확하다.
개요
본 발명의 실시예는 비디오를 인코딩하는 것과 관련된다. 제 1 라그랑지 승수는 비디오 인코더에 의해 그리고 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하여 결정된다.
상기 및 다른 실시예는 다음 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 1 라그랑지 승수는 적어도 부분적으로 적어도 하나의 다른 코딩 특성에 따른 의존성에 기초하여 결정될 수 있다. 코딩 특성은 데이터 샘플들의 상관, 시간적 예측(temporal prediction), 공간적 예측(spatial prediction), 인터 예측(inter prediction), 및 인트라 예측(intra prediction), 복수의 왜곡, 또는 영상, 영역 및/또는 프레임의 특징을 포함하고, 여기서 상기 특징은 질감(texture) 및/또는 밝기를 포함할 수 있다. 비디오 인코더는 라그랑지 승수 추정 모듈을 포함할 수 있고, 라그랑지 승수 추정 모듈은 동적 프로그래밍(dynamic programming)과 같은 방법을 포함하여 제 1 라그랑지 승수를 생성할 수 있다. 제 1 라그랑지 승수는 레이트 왜곡 함수의 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 경사를 계산하는 단계를 포함할 수 있다. 코딩 파라미터는 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(quantization parameter: QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수. 상기 방법은 DCT-기반 비디오 코딩, 웨이브렛(wavelet)-기반 비디오 코딩, 또는 비트-평면(bit-plane) 코딩을 포함할 수 있다. 제 1 라그랑지 승수는 비디오 디스플레이와 연관되는 하나 이상의 특징들에 적어도 부분적으로 기초하여 생성될 수 있다. 제 1 라그랑지 승수는 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치에 적어도 부분적으로 기초하여 결정될 수 있고, 여기서 적어도 하나의 비디오 특징지수 및/또는 비디오 코딩 통계치는 정확도, 복잡성, 효율, 코딩 성능, 국소 정보 및/또는 글로벌 정보의 측정치를 포함할 수 있다.
상기 및 다른 실시예는 선택적으로 다음의 특성들 중 하나 이상을 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 반복해서 하나 이상의 중간 라그랑지 승수를 생성하여 제 1 라그랑지 승수를 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치의 함수로 생성한다. 제 1 라그랑지 승수를 결정하는 프로세스는 이전에 코딩된 매크로블록(macroblock)들에 대한 상이한 코딩 파라미터들의 임의의 결합을 위해 제 1 라그랑지 승수를 생성하는 단계를 포함할 수 있다. 상이한 코딩 파라미터들의 각각은 다음 중 임의의 하나를 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP들의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도들의 함수, 및/또는 하나 이상의 코딩 계층들의 함수. 제 1 라그랑지 승수를 결정하는 프로세스는 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 곡선의 경사의 추정치를 생성하는 단계를 포함할 수 있고, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계는 제 2 라그랑지 승수를 상기 추정치로 대체하는 단계를 포함할 수 있다. 코딩 파라미터는 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수. 제 3 라그랑지 승수를 결정하는 프로세스는 비디오 인코더의 라그랑지 승수 추정 모듈을 이용하는 단계를 포함할 수 있다. 제 1 라그랑지 승수를 제 1 라그랑지 승수로 대체함으로써 갱신하는 프로세스는 제 3 라그랑지 승수를 포함할 수 있다. 상기 방법은 영상의 다수의 매크로블록들 또는 매크로블록들의 영역들에 대한 다른 라그랑지 승수를 계산하고, 모든 라그랑지 승수들의 함수에 적어도 부분적으로 기초하여 프레임을 비디오 인코더로 인코딩하는 단계를 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 코딩 파라미터에 이웃하는 코딩 파라미터들에서의 레이트 값들 및 왜곡 값을 이용하여 코딩 파라미터에서의 왜곡 값 및 레이트 값에 대한 제 1 라그랑지 승수를 추정하는 단계를 포함한다. 코딩 파라미터는 다음의 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수. 레이트 및 왜곡 값은 다수의 QP 지점을 포함할 수 있고, 여기서 복수의 QP 지점에 대한 왜곡 및 값은 왜곡 및 레이트 값(
Figure 112011028186078-pct00001
)을 포함할 수 있다. 왜곡 값(
Figure 112011028186078-pct00002
)은 QP + l에서의 왜곡 값을 나타내고, 여기서 레이트 값(
Figure 112011028186078-pct00003
)은 QP + l에서의 레이트 값을 나타내고, l, M 및 N은 QP 지점의 수를 나타낼 수 있고, l은 -M,....,-1, 1,...,N을 포함할 수 있고, M 및 N은 미리 선택되거나 적응하여 선택될 수 있다. 사전-선택은 이용 가능한 계산 자원, 비디오 시퀀스 특징, 및/또는 지역적 특징에 적어도 부분적으로 기초한다. 지역적 특징은 하나 이상의 매크로블록의 특징을 포함할 수 있다. 각각의 QP 지점의 경우, 상기 방법은 전체 라그랑지 비용 함수가 최소화되는 모드를 결정하는 단계, 및 상기 모드에 대한 대응하는 레이트 및 왜곡 값(
Figure 112011028186078-pct00004
)을 결정하는 단계를 포함한다. 왜곡 값(
Figure 112011028186078-pct00005
)은 QP + 1에서의 왜곡 값을 나타낼 수 있고, 레이트 값(
Figure 112011028186078-pct00006
)은 QP + 1에서의 레이트 값을 나타낼 수 있다. 왜곡 및 레이트 값(
Figure 112011028186078-pct00007
)은 -M,..., -1, 1,...,N에 대해 결정될 수 있다. 상기 방법은 1차 미분 추정 방법을 이용하여 (
Figure 112011028186078-pct00008
)에서의 곡선의 경사를 추정하는 단계를 포함하고, 여기서
Figure 112011028186078-pct00009
은 QP에서의 왜곡 값을 나타낼 수 있고,
Figure 112011028186078-pct00010
은 QP에서의 레이트 값을 나타낼 수 있다. 1차 미분 추정 방법은 왜곡 및 레이트 값(
Figure 112011028186078-pct00011
)에서의 유한 차분(finite difference)의 기하학적 평균일 수 있다. 추정되는 제 1 라그랑지 승수는 λestimate를 포함할 수 있고, 이에 대해
Figure 112011028186078-pct00012
이고,
Figure 112011028186078-pct00013
는 왜곡의 차 및 레이트의 차를 이용한 l에 대한 비율이고,
Figure 112011028186078-pct00014
일 수 있고,
Figure 112011028186078-pct00015
은 l에 대응하는 모드를 나타낼 수 있다. 추정되는 제 1 라그랑지 승수는 하나 이상의 후보 모드에 대한 다수의 라그랑지 비용들을 비교하여 왜곡 및 레이트 값을 결정하는 단계를 포함할 수 있다. 각각의 QP 지점에 대해서, 상기 방법은 전체 라그랑지 비용 함수가 최소화되는 모드를 탐색하는 단계를 더 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 상기 방법에서, 제 1 라그랑지 승수를 결정하는 프로세스는 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 단계를 포함한다. 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 단계는 전체 라그랑지 비용 함수가 현재 라그랑지 승수(λcurrent)에 의해 현재 코딩 파라미터에 대해 최소화되는 모드(π*)를 결정하는 단계, 및 l에 대해 왜곡 및 레이트 값(
Figure 112011028186078-pct00016
)을 결정하는 단계를 포함하고, l은 -M,...,-1,1,...,N을 포함하고, M 및 N은 다수의 QP 지점에 대한 수를 나타낼 수 있다.
Figure 112011028186078-pct00017
의 왜곡 값은 QP + 1에서의 왜곡 값을 나타낼 수 있고, 레이트 값(
Figure 112011028186078-pct00018
)은 QP + 1에서의 레이트 값을 나타낼 수 있다. 상기 방법은 1차 미분 추정 방법을 이용하여
Figure 112011028186078-pct00019
에서의 곡선의 경사를 추정하는 단계를 포함할 수 있다. 왜곡 값(DQP)은 QP에서의 왜곡 값을 나타낼 수 있고, 여기서 RQP는 QP에서의 레이트 값을 나타낼 수 있다. 코딩 파라미터는 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 레이트의 함수. 1차 미분 추정 방법은 왜곡 및 레이트 값
Figure 112011028186078-pct00020
에서의 유한 차분의 기하학적 평균일 수 있다. 추정되는 제 1 라그랑지 승수는 λestimate를 포함할 수 있고,
Figure 112011028186078-pct00021
이고,
Figure 112011028186078-pct00022
는 왜곡의 차 및 레이트의 차를 이용한 l에 대한 비율을 포함할 수 있고, 여기서,
Figure 112011028186078-pct00023
이다. l에 대한 모드는
Figure 112011028186078-pct00024
에 의해 표현될 수 있다. 상기 방법은 왜곡 값(
Figure 112011028186078-pct00025
)을 모드(π*), 특정한 수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하여, 왜곡 및 레이트 함수(
Figure 112011028186078-pct00026
)를 결정하는 단계를 포함하고, 여기서 왜곡 값(
Figure 112011028186078-pct00027
)은
Figure 112011028186078-pct00028
을 포함한다. 상기 방법은 또한 레이트 값(
Figure 112011028186078-pct00029
)을 모드(π*), QP 지점의 수에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하는 단계를 포함할 수 있고, 여기서 레이트 값은
Figure 112011028186078-pct00030
을 필요로 한다. 상기 방법은 또한
Figure 112011028186078-pct00031
을 계산하는 단계를 포함하고, 여기서
Figure 112011028186078-pct00032
는 왜곡의 차 및 레이트 값의 차를 이용함으로써 l에 대응하는 비율을 포함할 수 있다.
Figure 112011028186078-pct00033
의 계산은
Figure 112011028186078-pct00034
으로 표현될 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 상기 방법에서, 제 1 라그랑지 승수를 결정하는 프로세스는 국소 정보를 이용하여 제 1 라그랑지 승수를 추정하는 단계를 포함할 수 있다. 국지 정보는 분산(variance), 휘도 성분(luma component), 휘도 성분의 수단, 색도 성분(chroma component), 모션 강도(motion intensity), 질감 또는 에지 정보(texture or edge information), 및/또는 공간적 및 시간적으로 이웃하는 영역 또는 매크로블록의 에어리어(area)의 특징지수 또는 라그랑지 승수를 포함할 수 있다. 코딩 파라미터는 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수. 제 1 라그랑지 승수는 λestimate를 이용하는 단계를 포함할 수 있고, 제 1 라그랑지 승수를 결정하는 단계는 λestimate를 계산하는 단계를 포함할 수 있고, 여기서 λestimate는 국소 정보(Ilocal)에 대한 국소 추정 방법의 함수(flocal(·))일 수 있고, λestimate는 λestimate = flocal(Ilocal)로 표현될 수 있다. 상기 방법은 제 1 라그랑지 승수와 연관되는 매크로블록에 대해, 국소 정보를 계산하는 단계, 및 계산된 국소 정보 및 코딩 파라미터에 대해 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 단계를 포함하는 단계를 포함할 수 있다. 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정될 수 있다. 상기 방법에서, 제 1 라그랑지 승수를 결정하는 프로세스는 라그랑지 승수 검색표를 생성하는 단계를 포함할 수 있다. 라그랑지 승수 검색표의 생성은 다음을 포함할 수 있다: 에어리어에 대한 다수의 분산들을 계산; 다수의 양자화 파라미터(QP)에 다한 다수의 라그랑지 승수를 추정; 다수의 분산을 K개의 빈(bin)을 갖는 (K + 1) 그룹들로 배열; 다수의 QP들을 L개의 빈들을 갖는 그룹들로 배열; K 및 L개의 빈들에 적어도 부분적으로 기초하여 그룹들 각각에 대한 평균 라그랑지 승수를 계산; 및 라그랑지 승수 검색표 내에 평균 라그랑지 승수를 기록. 상기 방법은 둘 이상의 에어리어, 슬라이스(slice), 및/또는 장면들을 위해 라그랑지 승수 검색표를 적응하여 또는 주기적으로 갱신하는 단계를 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 상기 방법은 글로벌 정보를 이용하여 제 1 라그랑지 승수를 추정하는 단계를 포함할 수 있고, 여기서 코딩 파라미터는 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수. 글로벌 정보는 프레임 레이트, 공간 특징지수, 휘도 및 색도 분산, DC 값, DC 값의 히스토그램(histogram), 현재의 코딩 구조; 메타데이터 정보, 및/또는 현재의 영상들의 그룹(GOP) 내의 계층 레벨을 포함할 수 있다. 제 1 라그랑지 승수는 λestimate를 포함할 수 있다. 상기 방법은 λestimate를 계산하는 단계를 포함하는 제 1 라그랑지 승수를 결정하는 단계를 포함할 수 있고, 여기서 λestimate는 글로벌 정보(Iglobal)에 대한 전역 추정 방법의 함수(fglobal(·))일 수 있고, λestimate는 λestimate= fglobal(Iglobal)로 표현될 수 있다. 제 1 라그랑지 승수를 포함하는 방법은 또한 글로벌 정보를 계산하는 단계; 및 계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 단계를 포함할 수 있다. 계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 프로세스는 시간적 특징지수, 시퀀스, 및/또는 영상들 또는 영역들 사이의 코딩 차들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 조정하는 단계를 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 코딩 파라미터의 함수 및 영상들의 계층 레벨을 포함할 수 있고, 여기서 제 1 라그랑지 승수는 λk이다. 제 1 라그랑지 승수를 결정하는 프로세스는 제 1 라그랑지 승수(λk)를 계층 레벨, 영상들의 그룹(GOP)을 위한 영상들 사이의 변화의 단계적 크기, 및/또는 GOP를 위한 다른 영상으로 설정하는 단계를 더 포함할 수 있고, 여기서 k는 계층 레벨을 나타낼 수 있고, △GOP는 GOP를 위한 영상들 사이의 변화의 단계적 크기를 나타낼 수 있고, λanchor는 GOP를 위한 다른 영상을 나타낼 수 있고, λk는 λk = (1 - k·△GOP)·λanchor로 표현될 수 있다. 상기 방법은 제 1 라그랑지 승수를 계산하는 단계를 더 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 제 1 라그랑지 승수(λk)를 앵커 영상(anchor picture)의 라그랑지 승수 및 앵커 영상의 거리 및 GOP에서의 거리의 비의 함수로서 설정하는 단계를 더 포함하고, 여기서 k는 계층 레벨을 나타낼 수 있고, λanchor는 GOP를 위한 앵커 영상의 라그랑지 승수를 나타낼 수 있고, danchor는 앵커 영상의 거리를 나타낼 수 있고, dGOP는 GOP에서의 거리를 나타낼 수 있고, λk
Figure 112011028186078-pct00035
로 표현될 수 있다. 상기 방법은 또한 이 프로세스를 이용하여 제 1 라그랑지 승수를 계산하는 단계를 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 또한 앵커 영상까지의 거리에 적어도 부분적으로 기초하여 영상들의 그룹(GOP)을 위한 하나 이상의 영상들에 대한 라그랑지 승수를 결정하는 단계를 포함한다. 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정될 수 있다. 제 1 라그랑지 승수 검색표는 다수의 코딩 파라미터들에 적어도 부분적으로 기초할 수 있다. 상기 방법은 또한 라그랑지 승수 검색표에서의 라그랑지 승수들 중 하나 이상에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 갱신하는 단계를 포함할 수 있다. 제 1 라그랑지 승수는 영상들의 그룹(GOP)에 대한 이전의 계층 구조를 GOP에 대한 후속 계층 구조로 변환(translate)하는 기능을 포함할 수 있다. 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 프로세스는 비디오 인코더의 라그랑지 승수 추정 모듈로 제 1 라그랑지 승수를 추정하는 단계 및 제 2 라그랑지 승수를 제 1 라그랑지 승수로 대체하는 단계를 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 제 2 라그랑지 승수를 일련의 라그랑지 단계들로 변경하여 상기 일련의 단계의 종료 시에 상기 제 2 라그랑지 승수를 제 1 라그랑지 승수로 변경하는 단계를 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 제 1 라그랑지 승수(λestimate) 및 제 2 라그랑지 승수(λcurrent)의 함수인 갱신된 제 2 라그랑지안 승수(λnew)를 계산하는 단계를 포함하고, 여기서 λnew는 λnew = λcurrent + △·(λestimate - λcurrent)로 표현될 수 있고 △는 0 < △ <1인 미리 설정되거나 적응하여 변경되는 값을 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 갱신한 것들에서의 상한 또는 하한을 제 2 라그랑지 승수로 설정함으로써 제 2 라그랑지 승수의 갱신의 크기에 대한 제한을 두는 단계를 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 하나 이상의 이전 매크로블록들 및 현재의 매크로블록에서의 다수의 라그랑지 승수들의 슬라이딩 윈도 평균(sliding window average)을 계산하는 단계를 포함할 수 있다. 상기 방법은 또한, 예를 들어, 다수의 라그랑지 승수들의 경우, 라그랑지 승수들의 서브세트를 라그랑지 승수들의 슬라이딩 윈도로 선택하는 단계, 및 제 2 라그랑지 승수를 슬라이딩 윈도의 평균의 함수로 갱신하는 단계를 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 프로세스는 제 2 라그랑지 승수를 주기적으로 갱신하는 단계를 포함하고, 여기서 갱신의 주기는 고정된 주기 또는 적응하여-변하는(adaptively-change) 주기를 포함할 수 있다. 상기 주기는 국소 콘텍스트(local context)에 좌우될 수 있고, 국소 콘텍스트는 모션 강도 또는 장면 컷(scene cut) 정보를 포함할 수 있다. 제 2 라그랑지 승수는 슬라이스의 시작부에서 갱신될 수 있다. 제 2 라그랑지 승수는 장면 컷이 검출될 때 갱신될 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 비디오 인코더로 적어도 두 매크로블록들의 분산을 계산하는 단계, 및 두 인접한 매크로블록들 사이의 분산의 변화량이 임계값을 초과하는 경우 제 2 라그랑지 승수를 갱신하는 단계를 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 제 2 라그랑지 승수를 다수의 주기, 영상, 영상의 영역들에 대하여 갱신하는 단계를 포함할 수 있다. 제 2 라그랑지 승수를 갱신하는 프로세스는 제 2 라그랑지 승수의 상이한 유형들의 갱신들을 무작위 순서 또는 고정 순서로 수행하는 단계를 포함할 수 있고, 여기서 상이한 유형들의 갱신들은 직접 갱신, 단계적 크기 갱신, 및/또는 슬라이딩 윈도 갱신을 포함할 수 있다.
상기 및 다른 실시예는 다음의 특성들 중 하나 이상을 선택적으로 포함할 수 있다. 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 프로세스는 비디오 인코더의 라그랑지 승수 갱신 모듈을 이용하는 단계를 포함할 수 있다. 상기 방법은 또한 제 2 라그랑지 승수를 이용하여 비디오의 영역을 코딩하는 단계를 포함할 수 있다. 제 1 라그랑지 승수를 결정하는 프로세스는 다수의 왜곡 메트릭(metric)을 계산하는 단계를 포함할 수 있다. 상기 방법은 비디오 인코더로 라그랑지 승수들의 제 1 그룹을 결정하는 단계, 및 라그랑지 승수들의 제 1 그룹으로 라그랑지 승수들의 제 2 그룹을 갱신하는 단계를 포함할 수 있다. 다수의 왜곡 제약들은 라그랑지 승수들의 제 1 그룹을 결정하는데 이용될 수 있다. 라그랑지 승수들의 제 1 그룹을 결정하는 프로세스는 둘 이상의 차원들 및 하나 이상의 코딩 파라미터들로 레이트 왜곡 경사를 계산하는 단계를 포함할 수 있다. 하나 이상의 코딩 파라미터들은 다음 중 임의의 결합을 포함할 수 있다: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수.
본원에 기술되는 방법들 및 기술들 중 어느 것이든지 하나 이상의 구성요소, 장치들 또는 디바이스, 기계, 컴퓨터 프로그램 제품을 구비한 시스템에서, 하드웨어에서, 또는 이의 임의의 결합으로 구현될 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 컴퓨터-판독 가능 매체 상에서 유형화하여 인코딩될 수 있고 데이터 프로세싱 장치(예를 들어, 데이터 프로세서)로 하여금 본원에 기술되는 방법들 중 임의의 방법에 대한 하나 이상의 연산들을 실행하도록 하는 명령들을 포함할 수 있다. 이 기술들이 어떻게 구현될 수 있는지를 설명하기 위해, 여러 예시적인 실시예가 도시되고 설명된다.
시스템과 기술
스케일러블(scalable) 가능한 코딩 시스템(예를 들어, SVC) 및 다시점(multiview) 코딩 시스템(예를 들어, MVC)을 포함하는 비디오 압축 시스템 및 표준(예를 들어, ISO MPEG-1, MPEG-2, MPEG-4, MPEG-4AVC/ITU-U H.264, MPEG-4 Simple(SP) 및 Advanced Simple(ASP) 프로파일, H.261, H.263, AVS, 및 VC-1, 등)은 비디오 콘텐츠를 합리적인 비용으로 저장하고 전달하는 방법을 제공할 수 있다. 비디오 코딩 최적화는 비디오 압축 시스템들의 구성요소일 수 있다. 비디오 코딩 최적화는 높은 코딩 효율에 훌륭한 시간 체험을 제공할 수 있다. 비디오 코딩 최적화는 레이트/왜곡 최적화를 고려할 수 있는데, 상기 최적화는 결정을 행하기 위해서 비트 레이트 및 왜곡 이 둘을 공동으로 최적화하는 것이 가능하다. 대안으로, 왜곡 또는 비트 레이트를 개별적으로 최적화하는 것이 고려될 수 있다. 최적화는 또한 계산 자원 이용 가능성과 관련될 수 있는 디코더, 및/또는 인코더 복잡성의 파라미터(예를 들어, 메모리 상태 및 용량, 전력 소비)를 고려할 수 있다. 예를 들어, 레이트 왜곡 최적화(rate distortion optimization: RDO)는 현대의 비디오 코딩 시스템에서의 높은 코딩 효율 및 시각 품질을 달성하는데 이용될 수 있다.
도 1은 비디오 인코더(100)의 예시도를 도시한다. 인코더(100)는 예를 들어, 또한 MPEG-4 AVC 또는 ITU-T H.264로 칭해지는 진보된 비디오 코딩 표준(advanced video coding: AVC)에 실질적으로 따르는 인코더일 수 있다. 도 1에서, 입력 비디오(102)는 가산기(116)로 송신되고, 여기서 입력 비디오 프레임(102)은 변이 보상(예를 들어, 모션/조명 변화 보상 및/또는 인트라-예측) 컴포넌트(component)(160)의 출력과 합산된다. 가산기(116)로부터의 출력은 양자화 컴포넌트(106) 이전에 변환 컴포넌트(104)에 연결된다. 양자화 컴포넌트(106)의 출력은 가변 길이 코딩(variable length coding: VLC) 컴포넌트(108) 및 역 양자화 컴포넌트(110)와 연결된다. 비트 스트림(bit stream)(120)은 VLC 컴포넌트(108)로부터 생성된다. 블록, 영역, 또는 이미지를 인코딩하는데 필요한 비트들의 수와 같은 인코딩 프로세스에 대한 정보 및 그러한 결정에 의해 도입되는 왜곡은 루프 필터(166) 및 다른 컴포넌트들로 송신된다.
변이 보상 컴포넌트(160)는 변이 추정 컴포넌트(162)로부터의 정보/결정들이 제공되는 예측 신호를 생성할 수 있다. 변이 추정 컴포넌트(162)는: (a) 모션 벡터, 조명 변화 파라미터, 및/또는 인트라 예측 모드들과 같은 적절한 예측 파라미터들을 결정하고, (b) 모션-보상 블록-크기들을 선택적으로 인에이블(enable)하거나 디세이블(disable)하고, (c) 특정 영상들을 모션-보상 기준들로 이용하고, (d) 모션 추정 탐색 범위, 미세화 패턴(refinement pattern), 및/또는 모션 추정 반복들의 횟수; 및 (e) 특히 이미지에 대한 어떤 미리 정의된 조건들 또는 정보가 제공될 때 테스트될 코딩 모드들의 수를 제한하는 것을 포함할 수 있는 임무들을 실행할 수 있다. 루프 필터 컴포넌트(166)는: 루프-내 디 블록킹 필터(in-loop deblocking filter)의 파라미터들을 조정하고, (b) 특히, 디 블록킹 필터를 스위치-오프(switch-off)하는 것을 포함할 수 있는 임무들을 실행할 수 있다.
레이트 왜곡 최적화 컴포넌트(180)는 레이트 왜곡 최적화 정보를 변이 추정 컴포넌트(162)로 송신하기 위해 입력 비디오(102) 및 변이 보상 컴포넌트(160)로부터의 출력을 수신한다. 변이 추정은 모션 보상(또는 예측) 에러를 최소화하고, 반면에 모션 필드의 간섭성(coherence)을 최대화하는 것 사이의 균형에 의해 특징될 수 있다. 모션 필드의 간섭성은 모션 필드의 평활도(smoothness)에 의해 표현될 수 있다. 간섭하는 물체들에 대한 모션은 모션 필드가 다만 물체 경계들에서만 불연속하도록 각각의 물체와 평활화될 것으로 예상된다. 이 물체 경계들은 윤관 에지(contour edge) 또는 실루엣 에지(silhouette edge)들로 칭해질 수 있다.
역 변환 컴포넌트(112)는 역 양자화 컴포넌트(110)로부터 입력을 수신해서 출력을 가산기(126)에 송신한다. 가산기(126)는 역 변환 컴포넌트(112) 및 변이 보상 컴포넌트(160)로부터 신호를 수신하고, 합산된 신호를 루프 필터(166)로 송신한다. 영상 기준 저장소(164)는 루프 필터(166)로부터 입력을 수신하고, 출력을 변이 보상 컴포넌트(160) 및 변이 추정 컴포넌트(162)로 송신한다. 변이 추정 컴포넌트(162)는 또한 레이트 제어 컴포넌트(150)로부터 레이트 제어 입력을 수신한다. 루프 필터(166)는 또한 레이트 제어 컴포넌트(166)로부터 입력을 수신한다. 입력 비디오(102)는 또한 변이 보상 컴포넌트(160) 및 변이 추정 컴포넌트(262)의 입력으로 송신된다. 레이트 제어 컴포넌트(150)는 또한 VLC 컴포넌트(108) 및 변이 보상 컴포넌트(160)로부터 입력을 수신한다. 레이트 제어 컴포넌트(150)는 출력을 변화 컴포넌트(104), 양자화 컴포넌트(106), 변이 보상 컴포넌트(160), 레이트 왜곡 최적화 컴포넌트(180)로 출력할 수 있다.
도 2는 비디오 디코더(200)의 예시도를 도시한다. 일부 실시예에서, 디코더(200)는 실질적으로 H.264/MPEG-4 AVC 표준에 따라 기능을 할 수 있다. 디코더(200)는 비트 스트림(120)을 수신하고, 엔트로피(entropy)(가변 길이) 디코더(205), 하나 또는 다수의 역 양자화기(230), 하나 또는 다수의 역변환 컴포넌트(235), 및 변이 보상 컴포넌트(210)를 이용하여 비트 스트림을 디코딩한다. 엔트로피 디코더(205)는, 특히 모드, 모션 벡터, 조명 변화 파라미터, 인트라 예측 모드들과 같은 변이 정보를 포함하는 헤더 정보(header information), 및 양자화되고 변환된 나머지 데이터 이 둘 모두를 추출할 수 있다. 변이 보상, 더 구체적으로 신호의 예측은 헤더 정보를 이용하여 변이 보상 컴포넌트(210)에서 실행되고, 반면에 나머지 데이터는 우선 역 양자화기(230)를 이용하여 역양자화(dequantized)되고나서 역변환 컴포넌트(235)를 이용하여 역변환된다. 가산기(255)는 역변환기(235) 및 변이 보상기(210)의 출력을 가산하고, 합산 결과를 루프 필터(225)에 송신한다. 루프 필터(225)의 출력은 기준을 위해 영상들을 저장하고 출력(250)을 전송하는데 이용될 수 있는 기준 영상 버퍼(220)에 연결된다.
라그랑지 최적화는 비디오 코딩 최적화 기술로 이용될 수 있다. 라그랑지 최적화는 비디오 코딩 최적화 문제를 라그랑지 비용함수를 최소화하여 공식화한다. 라그랑지 최적화는 RDO에 대한 하나의 기술로 고려될 수 있고 변이 추정, 모드 결정, 복잡성 할당, 및 양자화 동안 인코더 및/또는 디코더에서 이용될 수 있으며, 특히 코딩 효율 및 시각 품질을 개선하기 위해 파라미터이 최적화되는 경우에 이용될 수 있다. 실시예에서, 라그랑지 최적화는, 모션 벡터에 대한 비트 레이트 제약의 영향을 받는, 원래의 비디오 정보 및 기준이 되는 비디오 정보 사이의 차를 최소화하는 최적의 모션을 찾기 위해서 모션 추정에 이용될 수 있다.
도 3은 라그랑지 최적화 함수의 예를 도시한 도면이다. 라그랑지 비용 함수는
J(λ,i,πi j) = d(i,πi j) + λ·r(i,πi j) (1)
로 표현될 수 있어서
Figure 112011028186078-pct00036
(2)
이 되고, 이는 레이트 타깃의 영향을 받아
Figure 112011028186078-pct00037
(3)
이 된다.
지수 i는 N 블록들 또는 블록들의 그룹들 중 하나에 속하고, πi j는 코딩 모드의 지수와 상이한 j를 갖는 양자화기 또는 예측 모드들과 같은, 상이한 코딩 모드들이고, d(i,πi j)는 모드(πi j)를 갖는 블록을 대응하는 레이트로서의 r(i,πi j)에 의해 인코딩한 왜곡이고, λ는 음이 아인 실수인 라그랑지 승수로서 칭해진다. Π* = (π1*2*,...,πN*)이고, 이는 모드를 나타내고, 여기서 전체 라그랑지 비용 함수가 최소화된다.
상기 도면은 왜곡 D(315) 대 레이트 R(320)의 플롯(300)을 도시하고, 여기서, 라그랑지 비용 함수(325)의 최소화는 라그랑지 승수(330)의 경사를 나타내는 평면파들로 도시된다. 도 3은 특정한 라그랑지 승수(λ)가 제공되는 라그랑지 비용 함수를 최소화할 때 최적의 해법을 나타낼 수 있다. 이 예에서, 라그랑지 비용 함수(325)의 최소 지점은 모드(πi j)를 갖는 블록을 대응하는 레이트로서의 r(i,πi j)로 인코딩한 왜곡의 경우 d(i,πi j)(340)에 있고, 여기서 λ·r(i,πi j)(335)는 평면파들 중 하나의 상부 왜곡 범위이다. λ = 0으로 라그랑지 비용 함수를 최소화하는 것은 레이트를 고려하지 않고 왜곡을 최소화하는 것과 본질적으로 동일하다. 역으로, 임의의 큰 λ에 의해 라그랑지 비용 함수를 최소화하는 것은 왜곡을 고려하지 않고 레이트를 최소화하는 것과 본질적으로 동일하다. 영(0) 및 임의의 값 사이에서 λ를 선택함으로써 특정 최적의 트레이드-오프(trade-off)가 달성될 수 있고, 이는 레이트 및 왜곡 요건들의 균형을 맞춘다. 비디오 보상 시스템에서, 모션 벡터들 및 코딩 모드들 이 둘 모두는 라그랑지 최적화에 의해 결정된다.
비디오 인코더에서 라그랑지 최적화를 실행할 때, 레이트는 전형적으로 단위 시간당 비트들에 따라 계산된다. 왜곡은 다양한 방법들로 계산될 수 있다.
예를 들어, M × N 블록에 대한 절대 차의 합(sum of absolute difference: SAD)은
Figure 112011028186078-pct00038
(4)
으로 계산되고, 여기서 s는 원래의 비디오 블록을 나타내고,
Figure 112011028186078-pct00039
은 기준화된(예를 들어, 예측 샘플) 또는 재구성된 블록(예를 들어, 예측 + 인코딩된 나머지 정보)를 나타낸다. 일부 실시예에서, 왜곡 d(i,πi j)이 제곱된 차의 합(sum of squared differences: SSD)을 이용하여 측정될 때, SSD는 M × N 블록에 대해
Figure 112011028186078-pct00040
(5)
로 계산될 수 있고, 여기서 s는 원래의 또는 초기 비디오 블록을 나타내고,
Figure 112011028186078-pct00041
는 기준화되거나 재구성된 블록들을 나타낸다. H.263 및 H.264/MPEG-4 AVC 각각의 상황 내에서 알맞은 트레이드오프들을 달성할 수 있는 λ 값은
λ = c·(QPH .263)2 (6)
이고,
Figure 112011028186078-pct00042
(7)
이고, 여기서 c는 상수이고, QPH .263 및 QPH .264는 각각 두 λ값을 각각 이용하는 코드들에 대한 양자화 파라미터이다. H.263 및 H.264/MPEG-4 AVC 표준 외에도, λ의 다른 변형(예를 들어, 식 5 및 식 6 외에 있는)은 통상적으로 적용되는 양자화 프로세스가 제공될 때 이용될 수 있다. 가장 많은 구현예에서, c는 상수로 선택되고 이는 다른 코딩 특징들 및/또는 비디오 특징들과는 독립적이라고 가정된다. 또한 라그랑지 최적화가 적용되는 영역, 블록, 도는 이미지가 다른 코딩 결정들과 독립적이라고 가정될 수 있다. 동시에, 라그랑지 승수 λ의 양자화 파라미터들의 함수로서의 공식화는 대체로 다음과 같은 소스 코딩 이론(source coding theory)에 적어도 부분적으로 기초하여 해석될 수 있다.
더 높은 레이트들에서 근사화될 수 있는 레이트-왜곡 함수는
Figure 112011028186078-pct00043
(8)
로 표현될 수 있고, 여기서 a는 소스 확률 밀도 함수(probability density function: pdf)에 좌우되는 상수이다. 주어진 λ에 대한 일부 실시예에서의 라그랑지 비용 함수(J)의 최소화는 D에 대한 J의 도함수를 영(0)으로 설정함으로써 달성될 수 있고, 이는
Figure 112011028186078-pct00044
(9)
또는 등가적으로
Figure 112011028186078-pct00045
(10)
를 산출한다.
레이트가 높은 왜곡은
Figure 112011028186078-pct00046
(11)
으로 표현될 수 있다.
여기서, 라그랑지 승수는
Figure 112011028186078-pct00047
(12)
로 표현될 수 있고,
여기서
Figure 112011028186078-pct00048
(13)
이다.
일부 예에서, c는 변할 수 있고, 적어도 부분적으로 다른 코딩 특성들 및/또는 비디오 특징들에 좌우될 수 있다. 예를 들어, 미래 및 과거 이웃들과의 상관(correlation)이 있을 수 있다. 다른 잠재적인 의존성들이 또한 존재할 수 있다. 이는 또한 인터 예측(예를 들어, 시간적 예측) 및 인트라 예측(예를 들어, 공간적 예측)을 강화할 수 있다. 다수의 왜곡 최적화(예를 들어, 다수의 라그랑지 비용 함수들에 의한 상이한 왜곡 제약들을 고려하는 최적화 방법) 및 디코더 및/또는 인코더 복잡성가 또한 강화될 수 있다. 복잡성는 필요한 메모리 또는 액세스, 캐시 미스(cache miss), 실행되는 연산들의 수, 전력 소비, 및 다른 요인들을 고려할 수 있다. 시간적으로, 이는 또한 빠르게 그리고/또는 느리게 움직이는 이미지들에 대한 다양한 프레임 레이트들에서 또는 이용되는 코딩 구조에 적어도 부분적으로 기초하여 코드성능을 강화할 수 있다. 예를 들어, 계층 코딩 구조들을 이용함으로써 시간적 기준들 사이에 상이한 거리들이 발생할 수 있다. 이 거리 차들이 또한 고려될 수 있다. 일부 비디오 시스템들에서 또한 영상들 및 영상들 내의 영역들 사이의 특징, 예를 들어, 밝기 및 질감을 고려할 수 있다. 이 영역들 중 일부는 정적(static)일 수 있고 다는 영역들은 모션을 가질 수 있다. 본원에서의 일부 실시예는 또한 λ 및/또는 c를 변경하는 어떤 경우들에서 동적 프로그래밍 기술들을 이용할 수 있다.
승수(λ)는 상술한 바와 같이, QP의 함수로 공식화될 수 있고, 라그랑지 최적화에서 비-적응식으로 λ를 계산하는 알고리즘일 수 있다. 그러나, 적응형 λ는 변하는 특징, 예를 들어, 시간 또는 공간 특징지수를 갖는 코딩 콘텐츠에 성능 이점을 제공할 수 있다.
예를 들어, QP 이외에, λ는 또한 식 10 및 식 13에 도시되는 바와 같이, a에 좌우될 수 있고, a는 게다가 소스 pdf에 좌우될 수 있다(예를 들어, λ는 QP 및 소스 pdf의 함수일 수 있다). 후술할 실시예에서, λ는 비디오 소스 통계치 및/또는 다른 비디오 특징지수에 적어도 부분적으로 기초하여 적응하여 추정된다.
라그랑지 최적화의 왜곡은 또한 라그랑지 최적화에서 주관적인 시각 품질을 측정할 수 있는 다른 메트릭들을 이용하여 계산될 수 있다. 이 메트릭들 중 하나의 예는 최소 인지 차(just noticeable difference: JND)를포함하고, 상기 JND는 콘텐츠들에 적어도 부분적으로 기초하는 아티팩트(artifact)의 시인성(visibility)을 측정한다. 다른 예는 슬로프의 평균 제곱 차(mean square difference of slope: MSDS)인데, 이는 장면 내에 등장할 수 있는 아티팩트들을 차단하는 엄정도(severity)를 측정하는데 이용된다. 이와 같은 경우들에서, 식 6 및 식 7에서의 라그랑지 승수의 공식들이 더 이상 유지되지 않는다.
실시예는 또한 품질, 공간, 시간, 및/또는 비트-깊이 스케일러블 시스템들과 같은 스케일러블 코딩 시스템을 처리하고, 3-D, 멀티뷰(multiview)와 같은 비디오 코딩 시스템, 및 유사한 비디오 코딩 시스템들과 함께 사용될 수 있다.
실시예는 로버스트(robust)한 라그랑지 승수 선택 기술에 관한 것이다. 실시예는 더 간단한 SAD 또는 SDD 메트릭들에 적어도 부분적으로 기초할 수 있거나 기초할 수 없는 인간의 시각 시스템 또는 디스플레이 특징들을 고려한 품질 메트릭들에 적어도 부분적으로 기초하여 레이트 왜곡 최적화들 또는 레이트-왜곡-복잡성 최적화들을 가능하게 한다. 실시예는 또한 웨이브렛-기반 비디오 코딩 또는 비트-평면 기반 비디오 코딩을 이용하는 비디오 코딩 시스템과 함께 이용될 수 있다.
라그랑지 승수 추정 및 갱신
실시예는 비디오 소스 통계치에 적어도 부분적으로 기초하여 라그랑지 승수의 값을 적응하여 추정하고 갱신할 수 있는 시스템과 관련된다. 예시적인 실시예에서, 이 프로세스는 적어도 두 단계를 포함할 수 있다.
도 4a는 라그랑지 최적화 함수의 예를 추정하고 갱신하기 위한 예시 프로세스(400)의 흐름도이다. 입력 블록(410)을 이용하면, 상기 프로세스는 온라인 라그랑지 승수 추정(420)을 포함하여 하나 이상의 방법들을 통해 라그랑지 승수(λ)를 결정하고나서, 라그랑지 승수 갱신이 λ를 갱신한다. 연산(420 및/또는 430)은 비디오 인코더의 일부로 구현되고/되거나 도 1의 비디오 인코더에서와 같은 비디오 인코더에 의해 프로세싱되는 기능을 행할 수 있다. 일부 실시예에서, 초기 라그랑지 승수(λ)가 선택되고 이용될 수 있고, 그 후에, 각각의 후속 영역들의 경우, 상기 영역이 인코딩될 참 라그랑지 승수(λtrue)에 대한 추정치가 존재한다. 초기 라그랑지 승수(λ)는 λtrue의 함수로 갱신될 수 있다. 하나 이상의 예시 코딩 연산들은 정확성, 복잡성, 코딩 성능, 효율 등과 같은 일부 비디오 디코딩 특징지수들 및/또는 통계치들에 적어도 부분적으로 기반하여 λ를 결정할 수 있다. 일부 경우들에서, λ는 이 비디오 코딩 특징지수들 및/또는 통계치에 대한 각각의 반복에서 개선될 수 있다(예를 들어, 일부 메트릭에 따르면 더 양호하고 더 개선된 결과들을 제공할 수 있다).
본 명세서의 일부 실시예에서, λ를 결정하기 위해 기술되는 해법들은 경험적으로 결정될 수 있다(예를 들어, 이의 철저한 결정과는 대조적이다). λ를 탐색하기 위한 시스템 자원들은 경험적인 해법들에 의해 보존될 수 있다. λ는 영상들에 대해 또는 영상들 내의 영역들에 대해 결정되고/되거나 갱신될 수 있다. 일부 실시예에서, λ는 상이한 코딩 파라미터(예를 들어, QP, 프레임 레이트, 해상도, 코딩 계층), 코딩 파라미터의 함수(예를 들어, QP, 프레임 레이트, 해상도, 코딩 계층의 함수), 또는 이전에-코딩된 매크로블록에 대한 코딩 파라미터에 대해 생성되고 갱신될 수 있다. 일부 예시 실시예에서, 코딩 파라미터는 우선 λ를 찾기 전에 결정될 수 있고, 여기서 λ는 그 후에 갱신될 수 있다.
하나 이상의 실시예는 하나 이상의 라그랑지 비용 함수들에서의 다수의 제약에 대한 다수의 라그랑지 승수를 추정하고 갱신할 수 있다. 제약들은 그중에서도, 하나 이상의 왜곡 메트릭, 또는 스케일러블 비디오 코딩에서의 상이한 계층들에 있는 하나 이상의 품질 요건, 멀티-뷰에서의 상이한 뷰, 3-D 비디오 코딩, 및/또는 상이한 디스플레이들을 포함한다. 하나 이상의 실시예는 다른 라그랑지 승수를 고정하고 있는 동안, 하나의 라그랑지 승수를 한번에 추정하고 갱신할 수 있다. 그와 같은 프로세스는 라그랑지 승수들 중 일부 또는 모두가 추정되고 갱신될 때까지 계속될 수 있다. 제안된 기술들은 또한 하나 이상의 라그랑지 승수를 동시에 추정하고 갱신하는데 이용될 수 있고, 이 경우 추정되고 갱신될 라그랑지 승수들은 벡터로 간주되고, 여기서 벡터 파라미터 추정 방법이 이용되어 라그랑지 승수들이 추정하고 갱신된다.
도 4b는 라그랑지 승수를 추정하고 갱신하기 위한 시스템(405)을 도시한다. 상기 시스템은 라그랑지 승수를 추정하는 라그랑지 승수 추정 모듈(425), 및 추정된 라그랑지 승수를 이용하여 현재 라그랑지 승수를 갱신하는 라그랑지 승수 갱신 모듈(435)을 포함한다. 추정 모듈(425)은 임의의 수효의 기술들을 이용하여 승수를 추정할 수 있다. 승수(405)는 후술되는 바와 같은 특징들을 가질 수 있다. 예를 들어, 온라인 라그랑지 승수 추정 모듈(425)은 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정(422); 국소 근사화에 의한 레이트 왜곡 경사 추정(426); 글로벌 정보에 의한 레이트 왜곡 경사 추정(428)에 의해 기능을 할 수 있다. 라그랑지 승수 갱신 모듈(435)은 승수를 갱신하기 위한 기능을 할 수 있다. 예를 들어, 라그랑지 갱신 모듈(425)은 직접 갱신(450); 단계적 크기 갱신(455); 슬라이딩 윈도 갱신(460); 및 주기적 갱신(465)으로 기능을 할 수 있다. 라그랑지 승수 갱신 모듈(425)은 이 기술들의 결합들 및 서브-결합들에 의해 기능을 할 수 있다.
온라인 라그랑지 승수 추정
온라인 라그랑지 승수 추정(420)은 도 4a 내지 도 4b에 도시된 바와 같은 기능을 할 수 있다. 도 5는 라그랑지 최적화 함수(500)의 예에 대한 도면이다. 도 5에서, 왜곡 D(315)는 레이트 R(320)의 함수도 도시되어 있다. 라그랑지 비용 함수의 최소화는 라그랑지 승수의 경사를 나타내는 평면파들로 도시된다. 도면(400)에서의 상이한 영역(550, 555, 560)은 소정의 왜곡 값 및 레이트에 대해 상이한 코딩 파라미터(예를 들어, 양자화 파라미터(QP), 프레임 레이트, 해상도, 코딩 계층)로 다수 회 코딩될 수 있다. 예를 들어, 영역(555)은 QP에서 왜곡 및 레이트(
Figure 112011028186078-pct00049
)를 갖고, 영역(550)은 QP+1에서 왜곡 및 레이트(
Figure 112011028186078-pct00050
)를 갖고; 영역(560)은 QP-1에서 왜곡 및 레이트(
Figure 112011028186078-pct00051
)을 갖는다. 라그랑지 승수들이 계산될 수 있고, 각각의 레이트-왜곡 곡선들의 경사들을 나타낼 수 있다. 적절하다고 고려될 수 있거나 양자화 파라미터들 이외의 다른 코딩 파라미터들은 특히 모션 벡터, 모드, 양자화 오프셋(offset), 또는 양자화 임계처리(quantization thresholding)를 포함할 수 있다. 비트 레이트 및 왜곡 대신 또는 외에, 필요한/액세스된 메모리와 같은 복잡성 메트릭, 캐시 미스, 연산의 횟수 및/또는 유형, 및 전력 소비가 고려될 수 있다. 최적화를 위한 다양한 비용 메트릭들이 고려될 수 있다. 이 비용 메트릭들은 비트 레이트 대신 또는 비트 레이트 외에도, 다양한 왜곡 및 복잡성 메트릭, 가격 결정 및 이용 모델, 또는 다른 특징들을 포함할 수 있다. 각각의 포함된 파라미터에 대해 별개의 라그랑지 승수가 고려될 수 있다. 본원에서의 일부 실시예에서, 라그랑지 승수를 결정하기 위해, 다수의 차원(예를 들어, 둘 이상의 차원)에서 레이트-왜곡 곡선의 경사가 고려될 수 있다. 본원에서의 일부 실시예에서, 다수의 왜곡 및/또는 복잡성 메트릭, 가격 책정 및 이용 모델, 또는 다른 특징들과 같은 하나 이상의 코딩 메트릭들에 대해 다수의 라그랑지 승수들이 고려될 수 있다.
라그랑지 승수(
Figure 112011028186078-pct00052
)와 부합하는 라그랑지 승수는 λcurrent(525)이다. λc urre nt(525)는 현재 이용되고 있는 라그랑지 승수를 나타내고, 초기에, 예를 들어, 식 12에 의해 설정될 수 있다. 라그랑지 승수는 매크로블록, 매크로블록들의 세트, 슬라이스, 또는 슬라이스들의 그룹을 포함하는 임의의 영역 상에서 이용될 수 있으나, 이로 제한되는 것은 아니다.
최적 모드(π)는
Figure 112011028186078-pct00053
로 표시되는 결과적인 왜곡 및 레이트로 선택될 수 있다. λcurrent
Figure 112011028186078-pct00054
에서의 레이트-왜곡 곡선의 경사를 나타낼 수 있다. 그러나, 실제로 레이트-왜곡 곡선(λcurrent)이 선택된 지점에서 곡선의 경사임을 보장하지 않는다. 도 5에 도시되는 바와 같이, 레이트-왜곡 곡선의 경사는 상기 식들에 도시되는 바와 같이, 요인들의 수에 따라 변할 수 있다.
실시예에서,
Figure 112011028186078-pct00055
에서의 참 경사(λtrue)가 추정될 수 있다. 라그랑지 승수(λcurrent)는 참 경사(λtrue) 또는 참 경사(λtrue)의 함수에 적어도 부분적으로 기초하여 갱신될 수 있다. 예를 들어, λ의 초기값은 초기 QP 값에 기초하여 결정될 수 있고, c가 계산된 이후에(예를 들어, 식 12에서와 같이), 다중-경로 방법에서의 비디오 이미지에 대해 λ의 다른 값이 결정될 수 있다. 다른 예에서, 어떤 영역 내의 블록들 모두에 대해 결정되었던 최적화기 값(λ) 모두는 함수에서(예를 들어, 평균 λ를 계산하기 위한) 계산될 수 있고, 프레임은 다중 경로 방법에서 상기 정보(예를 들어, 평균 λ)에 적어도 부분적으로 기초하여 인코딩될 수 있다. 다른 예에서, 상이한 QP들 또는 다른 코딩 파라미터들을 위한 λ에 대한 관계가 결정될 수 있다. 다른 기술은
Figure 112011028186078-pct00056
에서 레이트 왜곡 곡선상의 참 경사를 추정하는데 이용될 수 있다. 실시예는 개별 또는 결합 방식으로 이용되는 다수의 레이트 왜곡 경사 추정 기술들로 기능을 할 수 있다.
1) 완전 왜곡 최적화 모드 결정으로의 레이트 왜곡 경사 추정
일부 실시예에서,
Figure 112011028186078-pct00057
에서의 참 경사(λtrue)는 이의 이웃하는 QP 포인트들로부터의 레이트 및 왜곡 값들에 의해 추정될 수 있다. 예를 들어, 도 5는 QP, QP+1, QP-1에 대한 왜곡 및 레이트를 도시한다. 일부 실시예에서, 레이트 및 왜곡 값은
Figure 112011028186078-pct00058
, l = -M, ..., -1, 1, ...,N과 같은 다양한 QP 지점을 가질 수 있고, 여기서 M 및 N은 미리 선택되거나 적응하여 선택될 수 있다. 상기 사전-선택은 특히 이용 가능한 계산 자원, 슬라이스 또는 영상 코딩 유형, 이용 가능한 기준들 및 기준들의 현재 코딩 유닛과의 관계를 참작하는 고려사항들에 적어도 부분적으로 기초할 수 있다. 적응형 선택은 특히 현재 이용 가능한 계산 자원, 및 비디오 시퀀스 및 영역 특성, 예를 들어, 이웃하는 매크로블록들의 특성을 참작하는 고려사항들에 적어도 부분적으로 기초할 수 있다.
일부 실시예에서, 계산 자원들의 매우 제한된 이용 가능성을 갖는 인코더들의 경우, 작은 값의 M 및 N이 할당될 수 있다. 편평한 에어리어들과 관련된 실시예에서, N은 예를 들어, QP의 값이 상대적으로 작은 경우, M보다 더 클 수 있다. 편평한 에어리어들의 경우, 영역을 인코딩하는데 적당한 QP 값이면 충분할 수 있다. 그러므로, QP 값의 부가적인 감소로 인해 그 결과에 따른 레이트 및 왜곡 값들에서 차이가 현저하지 않을 수 있다. 곡선상에서 이웃하는 지점들의 레이트 및 왜곡 값은 동일한 에어리어 상에서 적용되는 이 QP들로의 레이트-왜곡 최적화 재-인코딩에 의해 획득될 수 있다. 일부 실시예에서, 저 복잡성 코딩 방법들이 또한 고려될 수 있다(예를 들어, 단일 블록 크기 및 기준, 제한된 모션 검출, 저 복잡성 RDO, 저 복잡성 엔트로피 코딩 등). 도 5에서, 음영이 있는 원 영역(550, 555, 560) 각각은 완전 레이트 왜곡 최적화 모드 결정을 나타낼 수 있다. 각각의 QP의 경우, 최적화 모드가 발견될 수 있고 대응하는 레이트 및 왜곡 값(
Figure 112011028186078-pct00059
)이 획득될 수 있다. (
Figure 112011028186078-pct00060
)이 모든 l = -M,...,-1,1,...N의 대하여 획득되면, (
Figure 112011028186078-pct00061
)에서의 곡선의 경사는 1차 미분 추정 방법들을 이용하여 추정될 수 있다.
일부 실시예에서, 경사는 도 5에 도시되는 바와 같이, (
Figure 112011028186078-pct00062
)에서의 유한 차분의 기하학적 평균을 이용하여 추정될 수 있다. 예를 들어, 레이트 및 왜곡의 유한 차분은 (
Figure 112011028186078-pct00063
)에서 각각의
Figure 112011028186078-pct00064
에 대해
Figure 112011028186078-pct00065
(14)
로 계산될 수 있다.
그 결과에 따른 추정된 라그랑지 승수는
Figure 112011028186078-pct00066
(15)
로 표현될 수 있다.
도 6은 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정(600)의 예에 대한 흐름도를 도시한다. 도 6의 예시 방법에서, 레이트 및 왜곡 값은 이웃하는 QP(예를 들어, QP+1, QP, QP-1)에서 추정될 수 있다. 선택된 블록인, 블록 I의 경우(605), 이웃하는 QP들을 위한 l에 대한 루프(loop)가 있고, 여기서 l = -M, ...,-1,1,...N이고(601) 초기 라그랑지 비용 J*는 J* = MAX_VALUE(615)로 설정된다. 후보 모드(πi j)를 위해 j = 1,...,K를 갖는 j에 대한 루프가 있다. π*에 대한 모드는 라그랑지 비용 함수 J(λ,i,πi j, QP + 1)에 의해 π* = πi j로 설정된다. 그 후에 결과적인 라그랑지 비용 함수 J(λ,i,πi j, QP π+ 1)가 J*보다 더 작은지를 결정하기 위한 판정이 행해진다(635). J(λ,i,πi j, QP + 1)가 J*보다 작으면(636), 라그랑지 비용 J*는 J(λ,i,πi j, QP + 1)로 갱신되고, π*는 π* = πi j로 설정되고(645), 루프(j)는 모든 후보 모드에 대한 비용 라그랑지 비용 함수가 계산될 때까지(640) 계속된다. J(λ,i,πi j, QP + 1)가 J*보다 크거나 같으면(637), 루프(j)는 모든 후보 모드에 대한 라그랑지 비용 함수가 계산될 때까지(640) 계속된다. 그 후에, QP + 1 에 대한 결과적인 왜곡(
Figure 112011028186078-pct00067
)은
Figure 112011028186078-pct00068
로 설정되고, 대응하는 QP + 1 에 대한 레이트(
Figure 112011028186078-pct00069
)는
Figure 112011028186078-pct00070
으로 설정된다(650). 그 후에, 라그랑지 승수는 식 14에서와 같이,
Figure 112011028186078-pct00071
로 설정된다(660). 이 단계들이 행해진 후에, 루프 l이 종료한다(665). 그 결과에 따른 추정된 라그랑지 승수는 식 15에 도시되는 바와 같이,
Figure 112011028186078-pct00072
로 표현될 수 있다(670).
2) 국소 근사화에 의한 레이트 왜곡 경사 추정
레이트 왜곡 경사 추정은 국소 근사화에 의해 실행될 수 있다. 이 실시예에서, 이웃하는 지점에 대한 근사화된 값은 복잡성에 대해 요건들을 완화할 수 있다. 상술한 바와 같이(예를 들어, 완전 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정에 대한 실시예) 상이한 QP들에서 최적의 모드를 탐색하는 대신, 레이트 및 왜곡 값(
Figure 112011028186078-pct00073
)은 동일한 모드(π*) 하에 있는 상이한 QP에서 계산될 수 있다. 이 모드(π*)는 λcurrent를 갖는 현재 QP에 대한 최적의 모드(예를 들어, 전체 라그랑지 함수가 최소화된다), 또는 16×16 또는 8×8 분할 모드와 같은 디폴트 모드(default mode) 및 기준일 수 있다. 모든 l = -M,...,-1,1,...N에 대해
Figure 112011028186078-pct00074
이 획득된 후에,
Figure 112011028186078-pct00075
에서 곡선의 경사는 상술한 방법(예를 들어, 완전 레이트 및 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정)과 유사한 1차 미분 추정 방법들을 이용하여 추정될 수 있다. 국소 근사화에 의한 레이트 왜곡 경사를 위한 일부 실시예는 낮은 계산의 복잡성 및 인코딩 시간들을 가질 수 있다.
도 7은 국지 근사화에 의한 레이트 왜곡 경사 추정(700)의 예에 대한 흐름도를 도시한다. 선택된 블록, 블록 I(710)의 경우, 이웃하는 QP들을 위한 l에 대한 루프가 있고, 여기서 l = -M,...,-1,1,...N이다(715). 왜곡(
Figure 112011028186078-pct00076
)은
Figure 112011028186078-pct00077
로 설정되고, 레이트(
Figure 112011028186078-pct00078
)는
Figure 112011028186078-pct00079
로 설정된다(720). 그 후에, 라그랑지 승수는
Figure 112011028186078-pct00080
로 설정되고(725), 식 15에서와 같이 계산된다. 이 단계들이 행해지고 난 후에, 루프 l이 종료한다(730). 그 결과에 따른 추정된 라그랑지 승수는 식 15에서와 같이
Figure 112011028186078-pct00081
로 표현될 수 있다(735). 이 개념들은 또한 다수의 라그랑지 파라미터들로 확장될 수 있다.
3) 국소 정보에 의한 레이트 왜곡 경사 추정
일부 실시예에서, 국소 정보(예를 들어, 비디오 코딩 특징지수들 및/또는 통계치)은 라그랑지 승수를 예측하거나 추정하는데 이용될 수 있다. 특히, 라그랑지 승수는
λestimate = flocal(Ilocal), (16)
로 추정될 수 있고, 여기서 flocal(·)는 국소 추정 방법이고 Ilocal은 국소 정보이다. 그와 같은 정보는 특히, 분산, 휘도 성분들의 수단, 색도 성분, 추정된 모션 강도, 질감 및 에지 정보뿐만 아니라 공간적 및 시간적으로 이웃하는 에어리어들의 특징들 및 갱신된 라그랑지 승수를 포함할 수 있다. 스케일러블 코딩과 같은 특정한 코딩 응용들의 경우, 이 정보는 또한 품질, 해상도, 기저 및 강화 계층 사이의 복잡성 변이, 톤 매핑 특징(tone mapping characteristics), 및 깊이 변이 또한 포함할 수 있다.
도 8은 국소 정보에 의한 레이트 왜곡 경사 추정(800)의 흐름도를 도시한다. 도 8에서, 선택된 블록, 블록 I(810)의 경우, 국소 정보(Ilocal)가 계산된다(815). 그리고나서 라그랑지 승수는 검색표에서 QP 및 Ilocal에 적어도 부분적으로 기반하여 발견될 수 있다.
일부 실시예에서, 라그랑지 승수는 다음과 같이 양자화 파라미터들 및 매트로블록의 분산에 적어도 부분적으로 추정될 수 있다. 한 에어리어의 분산(σ)이 계산될 수 있다. QP 파라미터가 제공되는 이 에어리어에 대한 최적의 라그랑지 승수는 완전 레이트 왜곡 최적화 모드 결정에 의한 레이트 왜곡 경사 추정을 이용하는 실시예들 또는 국소 근사화에 의한 레이트 왜곡 경사 추정을 이용하는 실시예에 대하여 상술한 방법들에 의해 추정될 수 있다. (QP, σ)의 각각의 쌍의 경우, 대응하는 최적의 라그랑지 승수 λ(QP, σ)가 기록될 수 있다. λ(QP, σ)에 대해 현저하게 큰 데이터의 세트가 기록되었다면, 전체 분산의 열은 각각 σ1, σ2, ..., σk로 표시되는 K개의 빈들을 갖는 (K + 1) 그룹들로 배열될 수 있고, QP들은 각각 QP1, QP2,...,QP3로 표시되는 L개의 빈들을 갖는 (L + 1) 그룹들로 배열된다.
도 9는 코딩 파라미터들 및 국소 정보에 의한 예시적인 검색표(900)를 도시하는 도면을 도시한다. 도 9에서, 분산의 열(σ)(905)은 각각 σ1(910), σ2(913), ..., σk(915)로 표시되는 K개의 빈들을 갖는 (K + 1) 그룹들로 배열될 수 있고, QP(930)는 각각 QP1, QP2,...,QP3로 표시되는 L개의 빈을 갖는 (L + 1) 그룹으로 배열된다. K 및 L 그룹들에 대한 검색표에서의 예시 빈은 빈(935)이다.
빈(K 및 L)의 수들은 고정되거나 적응하여 변할 수 있다. 기록된 데이터 세트는 이 빈들에 따라 (L + 1)× (K + 1) 그룹들로 배열될 수 있다. 각각의 그룹의 경우, 평균 라그랑지 승수는
Figure 112011028186078-pct00082
(17)
여기서 m = 1,..., L + 1이고, n = 1,...,K + 1, QP0 = 0, QPL +1 = +∞, σK+1 = +∞이고, average{}는 세트 내의 모든 λ의 평균을 계산한다. 상기 세트가 비어 있다면, 이는 다른 기술(예를 들어, 엔트로피-제약 벡터 양자화)에 따라, QP에 기초하여 디폴트값을 복귀시킬 수 있다.
평균이 모든 그룹에 대해 계산된 후에, 이 결과들은 라그랑지 승수에 대한 검색표 역할을 할 수 있다. 예를 들어, 인코딩되는 각각의 에어리어의 경우, 분산이 우선 계산될 수 있고 그 후에 이용될 QP에 따라 대응하는 그룹에 할당될 수 있다. 대응하는 라그랑지 승수는 이 에어리어에 대한 추정된 라그랑지 승수로 이용될 수 있다. 일부 실시예에서, 라그랑지 승수표는 계산된 이후에 고정될 수 있고, 라그랑지 승수 표는 상이한 에어리어, 슬라이스, 장면들에 대해 적응하여 갱신될 수 있고/있거나 라그랑지 승수 표는 주기적으로 갱신될 수 있다.
4) 글로벌 정보에 의한 레이트 왜곡 경사 추정
일부 실시예에서, 글로벌 정보는 라그랑지 승수를 예측하거나 추정하는데 이용될 수 있다.
도 10은 글로벌 정보에 의한 레이트 왜곡 추정(1000)에 대한 흐름도를 도시한다. 도 10에서, 선택된 블록, 블록 I(1010)의 경우, 글로벌 정보(Iglobal)가 계산된다(1015). 그 후에, 라그랑지 승수는 QP 및 Iglobal에 적어도 부분적으로 기초하여 설정된다(1020).
예를 들어, 라그랑지 승수는
λestimate = fglobal(Iglobal), (18)
로 추정될 수 있고, 여기서 fglobal(·)는 전역 추정 방법이고 Iglobal은 글로벌 정보이다. 글로벌 정보는 프레임 레이트, 휘도 및 색도 분산과 같은 공간 특성, DC 값, 및/또는 DC 값의 히스토그램, 현재 코딩 구조, 및/또는 메타데이터 정보를 포함할 수 있다. 예를 들어, 라그랑지 승수는 현재의 영상들의 그룹(GOP) 내의 자체의 계층 레벨에 적어도 부분적으로 기초하여 추정될 수 있다.
도 11은 8개의 영상들의 그룹들에 대한 예시 계층 예측 구조(1000)를 구비한 영상들의 그룹들을 갖는 도면을 도시한다. 도 11은 앵커 영상(anchor picture)(1105, 1110) 및 상이한 레벨의 영상(1130, 1125, 1120, 1115)(예를 들어, 레벨 0, 레벨 1, 레벨 2, 레벨 3)을 도시한다. GOP는 영상(1170)으로부터 영상(1175)까지 있다.
앵커 영상(1105, 1110)은 다른 영상을 모션-보상 예측에 대한 기준으로 이용함으로써 인트라-코딩 또는 인터-코딩된 영상들 중 하나가 될 수 있다. GOP의 나머지 영상(1132, 1135, 1140, 1145, 1150, 1155)은 도 11에 도시되는 바와 같이 계층적으로 예측된다. 도 11에 도시되는 계층 예측에 대해서 세 레벨(1145, 1120, 1115)이 있다. 제 1 레벨(레벨 1)(1145)로 표시되는 가운데(1145)에서의 영상은 단지 앵커 영상(1105, 1110)에서만 예측된다. 영상(1135, 1155)의 제 2 레벨(레벨 2)(1120)은 앵커 영상(1110, 1105) 및 제 1 레벨의 영상(1145) 이 둘로부터 예측될 수 있다. 영상들의 제 3 레벨(레벨 3)(1115)로 표시되는, 나머지 영상(1132, 1140, 1150, 1160)은 앵커 영상(1105, 1110), 및 제 1 레벨(1125) 및 제 2 레벨(1120)의 영상으로부터 예측될 수 있다. 앵커 영상에 대한 라그랑지 승수는 λanchor로 표시될 수 있다.
주관적으로, 인간의 심리시각적(psychovisual) 시스템(예를 들어, 인간의 눈과 연관되는 시야)은 상이한 계층들에 대한 어떤 시각적 마스킹(temporal masking)을 가질 수 있다. 이 시간적 마스킹을 보상하기 위해, 각각의 레벨(1130, 1125, 1120, 1115)은 하위 레벨(예를 들어, 레벨 1)이 상위 레벨(예를 들어, 레벨 3)보다 더 우수한 품질을 가진 채로, 상이하게 코딩될 수 있다. 또한, 시간적 특징(예를 들어, 모션 차)은 상이한 레벨의 영상에 대해 변할 수 있다. 더욱이, 상이한 GOP 및 시퀀스(예를 들어, 빠른 모션 시퀀스 또는 느린 모션 시퀀스)는 다른 요인 중에서, 특정한 계층 코딩 구조에 적합할 수 있다. 그러므로, λ는 이 시간적 특성, 시퀀스, 및/또는 영상 사이의 코딩 차를 고려하여 조정되고 갱신될 수 있다.
실시예에서, 상위 레벨 영상(예를 들어, 레벨 3)에 대해 동일한 QP에서 라그랑지 승수를 예측하는 것은 라그랑지 식
λk = (1 - k·△GOP)·λanchor (19)
을 포함할 수 있고, 여기서 K는 계층 레벨의 값이고, △GOP는 변화의 단계적 크기이다. 실시예에서, λanchor에 적어도 부분적으로 기초하여 동일한 QP에서 동일한 라그랑지 승수를 예측할 때, 현재의 영상으로부터의 거리(danchor)는 현재 영상의 가장 가까운 앵커 영상들과 연관될 수 있다. 이 예는
Figure 112011028186078-pct00083
(20)
으로 표현될 수 있고, 여기서 dGOP는 GOP의 크기이고, 그 크기는 한 예에서 8일 수 있다. 다른 영상들은 자신의 가장 가까운 앵커 영상들까지에 거리에 적어도 부분적으로 기초하여 결정되는 λ를 가질 수 있다. 일부 실시예는 이전의 계층 구조 및 현재의 계층 구조를 이용하여 기능을 행할 수 있고, 여기서 λ는 과거 및 현재의 계층 구조들의 변환으로 결정될 수 있다. 실시예에서, 상이한 QP들에 대해서는 상이한 라그랑지 승수들이 있을 수 있다. 라그랑지 승수는 검색표 내의 결과들에 적어도 부분적으로 기초하여 갱신될 수 있다. 예를 들어, 하나 이상의 영상들은 다중-경로 방법으로 재-코딩(re-coding)될 수 있고, 여기서 하나 이상의 영상들은 초기 라그랑지 승수에 의해 초기에 코딩될 수 있고, 검색표를 이용하여 영역에 대한 전체 프레임을 재-코딩할 수 있다.
라그랑지 승수 갱신 모듈 및 기술
추정된 라그랑지 승수(λestimate)가 획득된 후에, 이는 라그랑지 승수 갱신(430)에 이용되어 현재(또는 초기의) 라그랑지 승수(λcurrent)가 생성된다. 라그랑지 승수 갱신 모듈(430: 도 4b)은 적어도 네 기술들 중 하나 이상의 기술에 의해 기능을 행할 수 있다. 도 12는 예시 라그랑지 승수 갱신 모듈(1200)의 블록도를 도시한다. λ는 블록, 프레임, 영역 등에 대해서 갱신(또는 대체)될 수 있다. λ를 갱신하기 위한 라그랑지 승수 갱신 모듈은 직접 갱신(1250); 단계적 크기 갱신(1255); 슬라이딩 윈도 갱신(1260); 및 주기적 갱신(1265) 중 하나 이상에 의해 기능을 수행할 수 있다.
1) 직접 갱신
이 예시 기술(1250)에서, 현재 라그랑지 승수(λcurrent)는 추정된 라그랑지 승수(λestimate)로 대체될 수 있다. 이 방법에서, 현재 라그랑지 승수 자체가 추정된 라그랑지 승수와 직접 대체된다(1252).
2) 단계식 크기 갱신
이 예시 기술에서(1255), 라그랑지 승수는
λnew = λcurrent + △·(λestimate - λcurrent) (21)
로 갱신될 수 있고, 여기서 단계적 크기는 0 < △ < 1이다(1259). 현재 라그랑지 승수를 갱신하는 프로세스는 λnew를 계산하는 단계를 포함하고, 여기서 λcurrent는 현재 라그랑지 승수를 나타내고, λnew는 갱신된 라그랑지 승수를 나타내고, △는 미리 설정되거나 적응하여 변경되는 값이고, λestimate는 라그랑지 승수의 추정치를 나타낸다.
λ가 모든 매크로블록들 또는 다른 영역들에 걸쳐 지나치게 과도하게 변하지 않도록 하기 위해, 각각의 갱신 단계에서의 최대 변경이 범위 내에 있도록 제한될 수 있다. 실시예에서, λ는
Figure 112011028186078-pct00084
(22)
으로 갱신될 수 있고, 여기서 MAX_Inc 및 MAX_Dec는 clip() 함수의 상한 및 하한들이고 미리 결정되거나 적응하여 변경될 수 있다(1259). 예를 들어, MAX_Inc 및 MAX_Dec는 0.1 및 -0.1로 각각 설정되고, 라그랑지 승수는 0.1·△·λcurrent 만큼 증가하거나 감소할 수 있다.
하나 이상의 실시예에서, λ는 자신이 다른 λ로 대체될 때까지 서서히 단계적으로 제거될 수 있다. 예를 들어, 현재의 λcurrent는 현재의 λ가 다른 λ(예를 들어, 추정된 승수 λestimate)로 완전하게 대체될 수 있는 곳까지 전개될 때까지 각각의 단계 또는 단계의 일부분 동안 유지되거나 미세하게 변경될 수 있다. 그러므로 하나 이상의 실시예는 현재의 λ가 비디오 애플리케이션에 유용하여 다른 λ로 변경하는 것이 적절할 때까지(예를 들어, 시스템 내에 잡음이 있을 때) 시간에 따라 동일한 λ를 이용할 수 있다.
3) 슬라이딩 윈도 갱신
이 예시 기술에서(1260), 라그랑지 승수는 이전 매크로블록들 및 추정된 경사 값에 따른 현재의 매크로블록(또는 다른 영역)에서의 라그랑지 승수들의 "슬라이딩 윈도" 평균에 적어도 부분적으로 기초하여 갱신될 수 있다. 다수의 λ들이 제공되면, λ들의 슬라이딩 윈도를 형성하여 다른 λ를 결정하도록 다수의 λ들이 있을 수 있다.
예를 들어, 라그랑지 승수는
λnew = fsw01,...,λn) (23)
로서 설정될 수 있고, 여기서 fsw(·)는 현재 및 이전의 라그랑지 승수를 고려할 수 있는 임의의 슬라이딩 윈도 추정 방법이고, λ0 = λestimate, λ1 = λcurrent, 및 λk, k=2,...,M은 이전의 매크로블록들 또는 다른 영역들에 대한 라그랑지 승수들이다(1267). 예를 들어, 일부 실시예에서, fsw(·)는 다수의 라그랑지 승수들의 평균을 위한 함수일 수 있다.
4) 주기적 갱신
이 예시 방법(1265)에서, 라그랑지 승수는 상술한 갱신 방법(예를 들어, 직접 갱신(1250), 단계적 크기 갱신(1255), 슬라이딩 윈도 갱신(1260)) 중 임의의 방법을 이용하여 주기적으로 갱신될 수 있다(1269). 주기 자체는 미리 결정되거나 또는 모션 강도 또는 장면 컷 정보에 같은 국소 상황에 따라, 적응하여 설정될 수 있다. 주기적 갱신은 비디오 시스템에 대한, 특히 유사한 특징들을 갖는 에어리어들에 대한 저 계산 복잡성를 가질 수 있다.
예를 들어, 라그랑지 승수는 각각의 슬라이스의 시작시에만 갱신될 수 있다. 다른 예는 우선 장면 변환 검출을 실행하는 것과 일잔 장면 컷이 검출되면 라그랑지 승수를 갱신하는 것을 포함할 수 있다. 그와 같은 주기적 갱신은 또한 영상 내에서 행해질 수 있다. 일부 실시예에서, 인코더는 우선 각각의 매크로블록의 분산을 계산할 수 있고, 반면에 라그랑지 승수 갱신 알고리즘은 인접 매크로블록들 사이의 분산의 변경이 특정한 임계치를 초과할 때에만 호출될 수 있다. 일부 실시예에서, 특정한 수효의 반복, 주기, 및/또는 영상의 영역들에 대한 라그랑지 승수의 갱신이 있을 수 있다.
일부 실시예에서, 라그랑지 승수는 상술한 갱신 방법(예를 들어, 직접 갱신, 단계적 크기 갱신, 슬라이딩 윈도 갱신) 중 임의의 순서를 이용하여 주기적으로 갱신될 수 있다. 예를 들어, 상기 순서는 랜덤 순서(random order), 한 유형의 갱신으로부터 다른 유형의 갱신으로의 순서, 또는 상이한 주기들에 대한 상이한 유형들의 갱신들을 이용하는 순서일 수 있다. 예를 들어, 직접 갱신(1250)은 제 1 주기에서 이용될 수 있고, 단계적 크기 갱신(1255)은 제 1 주기에서 이용될 수 있고, 슬라이딩 윈도 갱신(1260)은 제 3 주기에서 이용될 수 있다.
예시 시스템
도 13은 상술한 라그랑지 기술들 중 하나(또는 임의의 결합)를 이용할 수 있는 시스템 도를 도시한다. 다양한 비디오 코딩 및/또는 디스플레이 컴포넌트들이 도 13에 도시된다. 상기 기술들은 하나 이상의 컴퓨터(1305A, 1305B) 상에서 이용될 수 있다. 본원에서의 하나 이상의 방법(예를 들어, 알고리즘, 프로세스)은 컴퓨터 및/또는 비디오 디스플레이(1320), 송신, 프로세싱 및 재생 시스템에 의해 구현되거나, 그 내부에서 이용될 수 있다. 본원에서 설명되는 컴퓨터들은 범용이거나, 워크스테이션과 같은 일부 특수용 컴퓨터 중 하나인, 임의의 종료의 컴퓨터일 수 있다. 컴퓨터(1305B)는 예를 들어, Window XPTM, VistaTM, 또는 Linux를 운영하는 인텔 또는 AMD 기반 컴퓨터일 수 있거나, MacintoshTM 컴퓨터일 수 있다. 실시예는 PDA(1315), 셀룰러 폰(1315), 또는 랩탑(1305A)과 같은 소형 컴퓨터와 관련될 수 있다. 컴퓨터는 또한 이미지 기록 또는 수신(1325, 1330, 1335), 프로세싱, 저장(1340), 및 데이터, 특히 비디오 데이터의 분배하기 위한 기계들 또는 기계의 일부들과 관련될 수 있다.
본원에서 기술되는 모듈들의 임의의 결합은 비디오 시스템의 일부(예를 들어, 도 1, 도 2 및 도 13에 도시되는 바와 같은 비디오 시스템의 일부)일 수 있다. 일부 실시예에서, 상기 모듈들 중 임의의 모듈은 예를 들어, 도 1의 비디오 인코더와 같은 비디오 인코더의 일부일 수 있다. 모듈들의 임의의 결합은 하드웨어 및/또는 소프트웨어에서 구현될 수 있다. 예를 들어, 모듈들 중 임의의 모듈은 컴퓨터 프로그램에 의해 구현될 수 있다.
컴퓨터 및/또는 그래픽 프로그램들은 C 또는 Python, 또는 Java, Brew 또는 임의의 프로그래밍 언어로 기록될 수 있다. 프로그램들은 저장 매체, 예를 들어, 자기 또는 광학, 예를 들어, 컴퓨터 하드 드라이브, 메모리 스틱(memory stick) 또는 SD 매체와 같은 제거 가능 디스크 또는 매체, 유선 또는 무선 네트워크 기반 또는 블루투스 기반 또는 네트워크 접속 저장소(network attached storage: NAS), 또는 다른 고정 또는 제거 가능 매체에 상주할 수 있다. 프로그램은 또한 네트워크를 통해, 예를 들어, 국지의 기계에 통신들을 송신하는 서버 또는 다른 기계에 의해 실행될 수 있고, 이는 국지의 기계가 본원에 기술되어 있는 연산들을 실행하도록 한다. 네트워크는 저장 에어리어 네트워크(storage area network: SAN)를 포함할 수 있다.
단 서너 개의 실시예들만이 위에 상세하게 기술되어 있었을지라도, 다른 실시예가 가능하다. 본 발명의 실시예는 본원에 기술되는 예시 기술들 중 하나 이상에 대한 등가물들 및 대체물들을 포함할 수 있다. 본 명세서는 특정한 예들을 기술하여 다른 방식에 있는 더욱 일반적인 목적을 달성한다. 예시 실시예들을 나타내는 본 명세서가 이해되어야 하고 다음의 청구항들은 임의의 등가, 대체, 또는 대안을 커버하도록 의도된다.
특허 대상의 실시예들 및 본 명세서에 기술되는 기능적인 연산들은 디지털 전자 회로소자에서, 또는 본 명세서 내에 기술되어 있는 구조들 및 이들의 구조적 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어, 또는 하드웨어, 또는 이들 중 하나 이상의 결합들에서 구현될 수 있다. 본 명세서에서 기술되는 특허 대상의 실시예는 데이터 프로세싱 장치의 연산에 의한 수행을 위하여, 또는 상기 연산을 제어하기 위하여 하나 이상의 컴퓨터 프로그램 제품, 예를 들어, 컴퓨터 판독 가능 매체 상에서 인코딩되는 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로 구현될 수 있다. 컴퓨터 판독 가능 매체는 기계-판독 가능 저장 디바이스(1340), 기계-판독 가능 저장 기판, 메모리 디바이스, 전파되는 기계-판독 가능에 영향을 미치는 조성물, 프로세싱되는 통신, 또는 이들 중 하나 이상의 결합일 수 있다. 용어 "데이터 프로세싱 장치"는 데이터를 프로세싱하기 위한 모든 장치, 디바이스, 및 기계를 포함하고, 예를 들어, 프로그래머블 프로세서(programmable processor), 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함한다. 상기 장치는 하드웨어 외에도, 해당 컴퓨터 프로그램을 위한 실행 환경을 만드는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택(stack), 그래픽 시스템, 데이터베이스 관리 시스템, 운영 시스템, 또는 이들의 하나 이상의 결합을 구성하는 코드를 포함할 수 있다. 컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트(script), 또는 코드)은 컴파일링(compiling)되거나 해석(interpreted)된 언어들을 포함하는, 임의의 형태의 프로그래밍 언어로 기록될 수 있고, 이는 단독 프로그램으로, 또는 컴퓨팅 환경에서 이용하는데 적합한 모듈, 컴포넌트, 서브루틴, 또는 다른 유닛으로서 포함하는 임의의 형태에 이용될 수 있다. 컴퓨터 프로그램이 파일 시스템에서 파일에 반드시 대응하지는 않는다. 프로그램은 해당 프로그램에 전용되는 단일 파일 내에 또는 다수의 조직화된(coordinated) 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램들 또는 코드의 부분들을 저장하는 파일) 내에 다른 프로그램 또는 데이터(마크업 언어(markup language) 문서에 저장되는 하나 이상의 스크립)를 보유하는 데이터의 일부에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 다수의 사이트들을 걸쳐 배분되고 통신 네트워크에 의해 상호 접속되는 하나의 컴퓨터 또는 다수의 컴퓨터들 상에서 수행되는데 이용될 수 있다.
본 명세서에서 설명되고 기술되는 프로세스들 및 논리 흐름들 및 도면들은 입력 데이터에 대해 연산을 행하여 출력을 발생시킴으로써 기능들을 실행하는 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래머블 프로세서들에 의해 실행될 수 있다. 프로세스들 및 논리 흐름들은 또한 특수용 논리 회로소자, 예를 들어, FPGA(field programmable gate array) 또는 마으크로제어기와 같은 다른 프로그래머블 논리 디바이스(programmable logic device: PLD), 또는 ASIC(application specific integrated circuit)에 의해 실행될 수 있고, 장치들은 또한 상기 특수용 논리 회로소자로 구현될 수 있다.
컴퓨터 프로그램의 수행에 적합한 프로세스는 예를 들어, 범용 및 특수용 마이크로프로세서, 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들 이 둘 모두를 포함할 수 있다. 일반적으로, 프로세서는 판독 전용 메모리, 또는 랜덤 액세스 메모리(random access memory), 또는 이 둘로부터 명령들 및 데이터를 수신할 수 있다. 컴퓨터의 필수 요소들은 명령들을 실행하기 위한 프로세서, 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 마그네틱, 마그네토(magneto) 광 디스크, 또는 광 디스크들을 포함하고 상기 대용량 저장 디바이스로부터 데이터를 수신하거나 상기 대용량 저장 디바이스들로 데이터를 송신하도록 동작하여 연결될 수 있다. 그러나, 컴퓨터는 그와 같은 디바이스들을 가질 필요가 없다. 더욱이, 컴퓨터는 다른 디바이스에 내장될 수 있고, 다른 디바이스의 예를 단 몇 개 들면 모바일 전화, 개인용 휴대정보 단말기(personal digital assistant: PDA), 모바일 오디오 재생기, 전지구적 위치 추적 시스템(Global Positining System: GPS) 수신기가 있을 수 있다. 컴퓨터 프로그램 명령들 및 데이터를 저장하는데 적합한 컴퓨터 판독 가능 매체는, 예를 들어, 반도체 메모리 디바이스, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크, 예를 들어, 내부 하드 디스크들 또는 제거 가능 디스크, 마그네토 광 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는, 비휘발성 메모리, 매체 및 메모리 디바이스의 모든 형태들을 포함한다. 프로세서 및 메모리는 특수용 논리 회로소자에 의해 보충되거나 상기 특수용 논리 회로소자에 통합될 수 있다. 이용자와의 상호 작용을 제공하기 위해서, 본 명세서에서 설명되는 특허 대상의 일부 실시예는 정보를 이용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LDC(liquid crystal display), 또는 플라스마 디스플레이 모니터(plasma display monitor)(1320), 이용자가 입력을 컴퓨터에 제공할 수 있는 키보드 및 선택기, 예를 들어, 포인팅 장치, 마우스, 또는 트랙볼(trackball)을 가지는 컴퓨터에서 구현될 수 있다. 디바이스들의 다른 종류들 또한 이용자와의 상호 작용을 제공하는데 이용될 수 있다; 예를 들어, 이용자에게 제공되는 피드백은 감각적 피드백(sensory feedback), 예를 들어, 시각 피드백, 청각 피드백, 또는 촉감 피드백의 형태일 수 있고; 이용자로부터의 입력은 청각, 음선 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에서 설명되는 특허 주제의 일부 실시예는 예를 들어, 데이터 서버와 같은 백 엔드(back end) 컴포넌트를 포함하거나, 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하거나, 프론트 엔드(front end) 컴포넌트, 예를 들어, 이용자가 본 명세서에서 기술되는 특허 대상의 실시예와 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 구비하는 클라이언트 컴퓨터(client computer)를 포함하거나, 하나 이상의 그와 같은 백 엔드, 미들웨어, 또는 프론트 엔트 컴포넌트들의 임의의 결합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신, 예를 들어, 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크들의 예는 국지 에어리어 네트워크(local area network: "LAN") 및 광역 에어리어 네트워크("WAN") 예를 들어, 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 원격이며 전형적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트 및 서버의 관계는 각각의 컴퓨터들 상에서 운영되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
본 발명이 많은 특성들을 포함할지라도, 이들은 제한하는 것들로 또는 청구되는 것들로 해석되지 않고, 오히려 본 발명의 특정 실시예에 특정한 특징들의 설명들로 해석되어야 한다. 별개의 실시예들의 상황에서 본 명세서에 기술되는 특정한 특징들은 또한 단일 실시예에서의 결합으로 구현될 수 있다. 역으로, 단일 실시예의 상황에서 기술되는 다양한 특징들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적절한 서브-조합으로 구현될 수 있다. 더욱이, 특징들이 특정한 결합들로 작동하는 것으로 기술되고 심지어 초기에 그와 같이 청구될 수 있을지라도, 청구되는 결합들로부터의 하나 이상의 특징들은 일부 실시예에서 상기 결합들로부터 삭제될 수 있고, 청구되는 결합은 서브결합 또는 서브결합의 변동에 관한 것일 수 있다. 유사하게, 도면들에서 특정 순서로 동작들이 기술될지라도, 이는 원하는 결과들을 달성하기 위해 그와 같은 동작들이 도시된 특정한 순서로 또는 순차적인 순서로 실행되거나, 모든 도시된 동작들이 실행되어야 할 필요가 있는 것으로 이해되어서는 안 된다. 특정 환경들에서, 멀티태스킹(multitasking) 및 동시 프로세싱이 유용할 수 있다. 더욱이, 상술한 실시예에서의 다양한 시스템 컴포넌트들의 분리는 모든 실시예에서 그와 같은 분리를 필요로 하는 것으로 이해되어서는 안 되고, 이는 기술되어 있는 프로그램 컴포넌트들 및 시스템들이 일반적으로 단일 소프트웨어 도는 하드웨어 제품에 함께 통합되거나 다수의 소프트웨어 또는 하드웨어 제품들에 패키징(packaging)될 수 있다.
용어 "알고리즘"은 본원에 기술되는 결과들을 달성하기 위한 단계, 방법, 프로세서, 방식, 절차, 동작, 프로그램, 가이드라인, 기술, 시퀀스, 및/또는 규칙들 또는 명령들의 세트를 가리킬 수 있다. 예를 들어, 알고리즘은 하드웨어 및/또는 소프트웨어 비디오 프로세서용 비디오 프로세싱 명령들의 세트일 수 있다. 개시된 알고리즘들은 비디오와 관련될 수 있고 비디오 데이터를 위한 비디오-관련 시스템들 및/또는 임의의 디바이스, 기계, 하드웨어, 및/또는 프로세싱, 압축, 저장, 송신, 수신, 테스팅, 교정, 디스플레이, 및/또는 임의의 개선을 위한 제조의 물품에서 임의의 결합으로 생성되고, 구현되고, 연관되고/거나 이용될 수 있다.
본원에 기술되는 기술들 및 시스템들은 다른 멀티미디어 애플리케이션들에서, 예를 들어, 오디오 압축 및 프로세싱에서의 최적화로 더 확장될 수 있다. 본 발명에서 제공되는 다양한 유형들의 라그랑지 비용 공식들의 하나 이상의 실시예는 다양한 디스플레이, 프로세싱, 및/또는 왜곡 특징들을 고려할 수 있다. 일부 실시예에서, 하나 이상의 비디오 디스플레이들을 위해 하나 이상의 라그랑지 승수를 선택하는 것을 복잡성, 및/또는 왜곡 메트릭들 및/또는 모드들의 채널에 기초하여 부분적으로 또는 전체적으로 결정될 수 있다. 본원에 기술되는 바와 같이, 방법들 및 시스템들은 비디오 압축에서 라그랑지 승수를 적응해서 추정하고 갱신할 수 있다. 여기서 기술되는 상기 방법들 및 시스템들은 여러 레벨들에 적용될 수 있고, 여러 레벨은 블록 레벨, 매크로블록 레벨, 슬라이스 레벨, 시퀀스 또는 장면 레벨 등 또는 상이한 레벨들의 결합을 포함한다. 제안된 발명들은 또한 왜곡이 하나 이상의 왜곡 메트릭들에 의해 측정될 때 적응형 비디오 인코더 제어에 적응될 수 있다. 상기 추정 및 갱신 모듈들은 반복 방식으로 적용될 수 있고, 예를 들어, 갱신된 라그랑지 승수는 제 2 라그랑지 승수 추정 모듈에서 초기 예측기 역할을 할 수 있다. 그와 같은 프로세스는 추정된 라그랑지 승수가 수렴되거나 미리 결정된 조건이 만족할 때까지 계속할 수 있다.
일부 실시예에서, 하나 이상의 라그랑지 승수들은 하나 이상의 코딩 메트릭들에 대해 고려될 수 있다. 일부 실시예들 및/또는 본원에서의 실시예들의 일부의 결합들에서, 동시에 프로세싱되는 연산들이 있을 수 있고, 여기서 동시-프로세싱되는 연산들은 다수의 라그랑지 승수를 포함할 수 있다. 동시에 프로세싱되는 동작들 중 일부는 다수의 차원(예를 들어, 둘 이상의 차원)에서 레이트-왜곡의 경사(들)를 고려할 수 있다.
본 발명의 실시예는 아래에 열거되는 예시 실시예 중 하나 이상과 관련될 수 있다.
1. 비디오를 인코딩하는 방법에 있어서:
비디오 인코더로 제 1 라그랑지 승수를 계산하는 단계; 및
제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계를 포함하는 비디오를 인코딩하는 방법.
2. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수는 적어도 하나의 다른 코딩 특성과의 의존성에 적어도 부분적으로 기초하여 결정되는 비디오를 인코딩하는 방법.
3. 열거된 예시 실시예 2에 있어서, 상기 코딩 특성은 데이터 샘플들의 상관, 시간적 예측, 공간적 예측, 인터 예측, 인트라 예측, 복수의 왜곡, 또는 영상, 영역, 또는 프레임의 특징을 포함하고, 상기 특징은 질감 및 밝기를 포함하는 비디오를 인코딩하는 방법.
4. 열거된 예시 실시예 1에 있어서, 상기 비디오 인코더는 라그랑지 승수 추정 모듈을 포함하고, 라그랑지 승수 추정 모듈은 동적 프로그래밍을 포함하여 제 1 라그랑지 승수를 생성하고, 제 1 라그랑지 승수는 레이트 왜곡 함수의 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 경사를 포함하는 비디오를 인코딩하는 방법.
5. 열거된 예시 실시예 4에 있어서, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
6. 열거된 예시 실시예 1에 있어서, DCT-기반 비디오 코딩, 웨이브렛-기반 비디오 코딩 또는 비트-평면 비디오 코딩을 포함하는 비디오를 인코딩하는 방법.
7. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수는 비디오 디스플레이와 연관되는 하나 이상의 특징들에 적어도 부분적으로 기초하여 생성되는 비디오를 인코딩하는 방법.
8. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수는 적어도 하나의 비디오 코딩 특징지수들 또는 비디오 코딩 통계치에 적어도 부분적으로 기초하여 결정되고, 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치는 정확성, 복잡성, 효율, 코딩 성능 또는 국소 정보 및 글로벌 정보의 측정치를 포함하는 비디오를 인코딩하는 방법.
9. 열거된 예시 실시예 8에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 제 1 라그랑지 승수를 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치의 함수로서 생성하기 위해 하나 이상의 라그랑지 승수를 반복해서 생성하는 단계를 포함하는 비디오를 인코딩하는 방법.
10. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 이전에 코딩된 매크로블록들에 대한 상이한 코딩 파라미터들의 임의의 결합을 위해서 제 1 라그랑지 승수를 생성하는 단계를 포함하는 비디오를 인코딩하는 방법.
11. 열거된 예시 실시예 10에 있어서, 상이한 코딩 파라미터의 각각은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 하나를 포함하는 비디오를 인코딩하는 방법.
12. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 곡선의 경사의 추정치를 생성하는 단계를 포함하고, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계는 제 2 라그랑지 승수를 상기 추정치로 대체하는 단계를 포함하고, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
13. 열거된 예시 실시예 1에 있어서,
비디오 인코더의 라그랑지 승수 추정 모듈을 이용하여 제 3 라그랑지 승수를 결정하는 단계; 및
제 1 라그란지안의 제 3 라그란지안으로의 대체로 제 1 라그랑지 승수를 갱신하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
14. 열거된 예시 실시예 1에 있어서,
영상의 복수의 매크로블록들 또는 매크로블록들의 영역들에 대한 다른 라그랑지 승수를 계산하는 단계; 및
라그랑지 승수들의 모두의 함수에 적어도 부분적으로 기초하여 비디오 인코더로 프레임을 인코딩하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
15. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 코딩 파라미터에 이웃하는 코딩 파라미터에서의 레이트 값들 및 왜곡 값을 이용하여 코딩 파라미터에서 왜곡 값 및 레이트 값에 대한 제 1 라그랑지 승수를 추정하는 단계를 포함하는 비디오를 인코딩하는 방법.
16. 열거된 예시 실시예 15에 있어서, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
17. 열거된 예시 실시예 16에 있어서, 레이트 및 왜곡 값은 복수의 QP 지점들을 포함하고, 여기서 복수의 QP 지점에 대한 왜곡 및 값은
Figure 112011028186832-pct00085
을 포함하고,
Figure 112011028186832-pct00086
은 QP + l에서의 왜곡 값을 나타내고, 여기서
Figure 112011028186832-pct00087
은 QP + l에서의 레이트 값을 나타내고, l은 -M,....,-1, 1,...,N을 포함하고, M 및 N은 미리 선택되거나 적응하여 선택되는 비디오를 인코딩하는 방법.
18. 열거된 예시 실시예 17에 있어서, 사전-선택은 이용 가능한 계산 자원들에 적어도 부분적으로 기초하고, 적응형 선택은 이용 가능한 계산 자원, 비디오 시퀀스 특징, 또는 지역적 특징들에 적어도 부분적으로 기초하고, 지역적 특징들은 하나 이상의 매크로블록들의 특징들을 포함하는, 비디오를 인코딩하는 방법.
19. 열거된 예시 실시예 18에 있어서, 각각의 QP 지점들의 경우, 전체 라그랑지 비용 함수가 최소화되는 모드를 결정하는 단계, 및
상기 모드에 대한 대응하는 비율 및 왜곡 값(
Figure 112011028186078-pct00088
)을 결정하는 단계를 포함하고,
여기서
Figure 112011028186078-pct00089
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00090
은 QP + 1에서의 레이트 값을 나타내고,
레이트 및 왜곡 값(
Figure 112011028186078-pct00091
)이 -M, ..., -1, 1,...,N에 대해 결정될 때, 1차 미분 추정 방법을 이용하여 (
Figure 112011028186078-pct00092
)에서의 곡선의 경사를 추정하는 단계를 포함하고, 여기서
Figure 112011028186078-pct00093
은 QP에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00094
은 QP에서의 레이트 값을 나타내는 비디오를 인코딩하는 방법.
20. 열거된 예시 실시예 19에 있어서, 1차 미분 추정 방법은
Figure 112011028186832-pct00095
에서의 유한 차분의 기하학적 평균을 포함하는 비디오를 인코딩하는 방법.
21. 열거된 예시 실시예 18에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고, 여기서
Figure 112011028186832-pct00096
이고,
Figure 112011028186832-pct00097
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서
Figure 112011028186832-pct00098
이고,
Figure 112011028186832-pct00099
은 l에 대응하는 모드를 나타내는 비디오를 인코딩하는 방법.
22. 열거된 예시 실시예 21에 있어서, 추정되는 제 1 라그랑지 승수는 하나 이상의 후보 모드에 대한 복수의 라그랑지 비용들을 비교하여 왜곡 및 레이트 값을 결정하는 단계를 포함하는 비디오를 인코딩하는 방법.
23. 열거된 예시 실시예 18에 있어서, 각각의 QP 지점에 대해서, 상기 방법은 전체 라그랑지 비용 함수가 최소화되는 모드를 탐색하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
24. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 단계를 포함하는 비디오를 인코딩하는 방법.
25. 열거된 예시 실시예 24에 있어서, 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 단계는:
전체 라그랑지 비용 함수가 현재 라그랑지 승수(λcurrent)에 의해 현재 코딩 파라미터에 대해 최소화되는 모드(π*)를 결정하는 단계;
l에 대해 왜곡 및 레이트 값(
Figure 112011028186078-pct00100
)을 결정하는 단계로서, l은 -M,...,-1,1,...,N을 포함하고, M 및 N은 다수의 QP 지점에 대한 수를 나타내고,
Figure 112011028186078-pct00101
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00102
은 QP + 1에서의 레이트 값을 나타내는, 결정 단계;
1차 미분 추정 방법을 이용하여
Figure 112011028186078-pct00103
에서의 곡선의 경사를 추정하는 단계를 포함하고,
Figure 112011028186078-pct00104
는 QP에서의 왜곡 값을 나타내고, 여기서 RQP는 QP에서의 레이트 값을 나타내고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 레이트의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
26. 열거된 예시 실시예 25에 있어서, 1차 미분 추정 방법은
Figure 112011028186832-pct00105
에서의 유한 차분의 기하학적 평균을 포함하는 비디오를 인코딩하는 방법.
27. 열거된 예시 실시예 25에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고,
Figure 112011028186832-pct00106
이고,
Figure 112011028186832-pct00107
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서,
Figure 112011028186832-pct00108
이고,
Figure 112011028186832-pct00109
은 l에 대한 모드를 나타내는 비디오를 인코딩하는 방법.
28. 열거된 예시 실시예 25에 있어서, 왜곡 및 레이트 함수(
Figure 112011028186832-pct00110
)를 결정하는 단계는:
왜곡 값(
Figure 112011028186078-pct00111
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하는 단계로서, 왜곡 값(
Figure 112011028186078-pct00112
)은
Figure 112011028186078-pct00113
을 포함하는, 설정 단계;
레이트 값(
Figure 112011028186078-pct00114
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하는 단계로서, 레이트 값(
Figure 112011028186078-pct00115
)은
Figure 112011028186078-pct00116
를 포함하는, 설정 단계; 및
Figure 112011028186078-pct00117
을 계산하는 단계를 포함하고, 여기서
Figure 112011028186078-pct00118
는 왜곡의 차 및 레이트 값의 차의 l에 대한 비율을 포함하고,
Figure 112011028186078-pct00119
의 계산은
Figure 112011028186078-pct00120
를 포함하는 비디오를 인코딩하는 방법.
29. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 국소 정보를 이용하여 제 1 라그랑지 승수를 추정하는 단계를 포함하는 비디오를 인코딩하는 방법.
30. 열거된 예시 실시예 29에 있어서, 국지 정보는 분산(variance), 휘도 성분(luma component), 휘도 성분의 수단, 색도 성분(chroma component), 모션 강도(motion intensity), 질감 또는 에지 정보(texture or edge information), 또는 공간적 및 시간적으로 이웃하는 영역 또는 매크로블록의 에어리어들의 특징지수 또는 라그랑지 승수를 포함하고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 하나 이상의 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
31. 열거된 예시 실시예 30에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 제 1 라그랑지 승수를 결정하는 단계는 λestimate를 계산하는 단계를 포함하고, 여기서 λestimate는 국소 정보 Ilocal에 대한 국소 추정 방법의 함수(flocal(·))이고, λestimate = flocal(Ilocal)인 비디오를 인코딩하는 방법.
32. 열거된 예시 실시예 30에 있어서,
제 1 라그랑지 승수와 연관되는 매크로블록에 대해, 국소 정보를 계산하는 단계; 및
계산된 국소 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 단계를 포함하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
33. 열거된 예시 실시예 32에 있어서, 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정되는 비디오를 인코딩하는 방법.
34. 열거된 예시 실시예 30에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 라그랑지 승수 검색표를 생성하는 단계를 포함하고, 라그랑지 승수 검색표의 생성은:
에어리어에 대한 복수의 분산들을 계산하는 단계;
복수의 양자화 파라미터(QP)에 다한 다수의 라그랑지 승수를 추정하는 단계;
복수의 분산들을 K개의 빈을 갖는 (K + 1) 그룹들로 배열하는 단계;
복수의 QP들을 L개의 빈들을 갖는 그룹들로 배열하는 단계;
K 및 L개의 빈들에 적어도 부분적으로 기초하여 그룹들 각각에 대한 평균 라그랑지 승수를 계산하는 단계; 및
라그랑지 승수 검색표 내에 평균 라그랑지 승수를 기록하는 단계를 포함하는 비디오를 인코딩하는 방법.
35. 열거된 예시 실시예 34에 있어서, 둘 이상의 에어리어, 슬라이스, 또는 장면들을 위해 라그랑지 승수 검색표를 적응하여 또는 주기적으로 갱신하는 단계를 포함하는 비디오를 인코딩하는 방법.
36. 열거된 예시 실시예 1에 있어서, 글로벌 정보를 이용하여 제 1 라그랑지 승수를 추정하는 단계를 더 포함하고, 여기서 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
37. 열거된 예시 실시예 36에 있어서, 상기 글로벌 정보는 프레임 레이트, 공간 특징지수, 휘도 및 색도 분산, DC 값, DC 값의 히스토그램, 현재의 코딩 구조, 메타데이터 정보, 또는 현재의 영상들의 그룹(GOP) 내의 계층 레벨을 포함하는 비디오를 인코딩하는 방법.
38. 열거된 예시 실시예 36에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 제 1 라그랑지 승수를 결정하는 단계는 λestimate를 계산하는 단계를 포함하고, 여기서 λestimate는 글로벌 정보(Iglobal)에 대한 전역 추정 방법의 함수(fglobal(·))이고, λestimate= fglobal(Iglobal)인 비디오를 인코딩하는 방법.
39. 열거된 예시 실시예 36에 있어서, 제 1 라그랑지 승수를 포함하는 방법은:
글로벌 정보를 계산하는 단계; 및
계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 단계를 포함하는 비디오를 인코딩하는 방법.
40. 열거된 예시 실시예 39에 있어서, 계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 단계는 시간적 특징지수, 시퀀스, 또는 영상들 또는 영역들 사이의 코딩 차들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 조정하는 단계를 포함하는 비디오를 인코딩하는 방법.
41. 열거된 예시 실시예 36에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 코딩 파라미터의 함수 및 영상들의 계층 레벨을 포함하고, 여기서 제 1 라그랑지 승수는 λk인 비디오를 인코딩하는 방법.
42. 열거된 예시 실시예 41에 있어서, 제 1 라그랑지 승수를 결정하는 단계는:
제 1 라그랑지 승수(λk)를 계층 레벨, 영상들의 그룹(GOP)을 위한 영상들 사이의 변화의 단계적 크기, 및/또는 GOP를 위한 다른 영상으로 설정하는 단계로서, k는 계층 레벨을 나타내고, △GOP는 GOP를 위한 영상들 사이의 변화의 단계적 크기를 나타내고, λanchor는 GOP를 위한 다른 영상을 나타내고, λk = (1 - k·△GOP)·λanchor인, 설정 단계; 및
제 1 라그랑지 승수를 계산하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
43. 열거된 예시 실시예 41에 있어서, 제 1 라그랑지 승수를 결정하는 단계는:
제 1 라그랑지 승수(λk)를 앵커 영상(anchor picture)의 라그랑지 승수 및 앵커 영상의 거리 및 GOP에서의 거리의 비의 함수로서 설정하는 단계로서, 여기서 k는 계층 레벨을 나타내고, λanchor는 GOP를 위한 앵커 영상의 라그랑지 승수를 나타내고, danchor는 앵커 영상의 거리를 나타내고, dGOP는 GOP에서의 거리를 나타내고,
Figure 112011028186078-pct00121
인, 설정 단계; 및
제 1 라그랑지 승수를 계산하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
44. 열거된 예시 실시예 41에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 앵커 영상까지의 거리에 적어도 부분적으로 기초하여 영상들의 그룹(GOP)을 위한 하나 이상의 영상들에 대한 라그랑지 승수를 결정하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
45. 열거된 예시 실시예 41에 있어서, 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정되는 비디오를 인코딩하는 방법.
46. 열거된 예시 실시예 45에 있어서, 제 1 라그랑지 승수 검색표는 다수의 코딩 파라미터들에 적어도 부분적으로 기초하는 비디오를 인코딩하는 방법.
47. 열거된 예시 실시예 45에 있어서, 라그랑지 승수 검색표에서의 복수의 라그랑지 승수들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 갱신하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
48. 열거된 예시 실시예 41에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 영상들의 그룹(GOP)에 대한 이전의 계층 구조를 GOP에 대한 후속 계층 구조로 변환(translate)하는 함수를 더 포함하는 비디오를 인코딩하는 방법.
49. 열거된 예시 실시예 1에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는:
비디오 인코더의 라그랑지 승수 추정 모듈로 제 1 라그랑지 승수를 추정하는 단계; 및
제 2 라그랑지 승수를 제 1 라그랑지 승수로 대체하는 단계를 포함하는 비디오를 인코딩하는 방법.
50. 열거된 예시 실시예 1에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는 제 2 라그랑지 승수를 일련의 라그랑지 단계들로 변경하여 상기 일련의 단계의 종료 시에 상기 제 2 라그랑지 승수를 제 1 라그랑지 승수로 변경하는 단계를 포함하는 비디오를 인코딩하는 방법.
51. 열거된 예시 실시예 50에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는 제 1 라그랑지 승수(λestimate) 및 제 2 라그랑지 승수(λcurrent)의 함수인 갱신된 제 2 라그랑지안 승수(λnew)를 계산하는 단계를 포함하고, 여기서 λnew = λcurrent + △·(λestimate - λcurrent)이고, △는 0 < △ <1이고 미리 설정되거나 적응하여 변경되는 값을 포함하는 비디오를 인코딩하는 방법.
52. 열거된 예시 실시예 50에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는 갱신한 것들에서의 상한 또는 하한을 제 2 라그랑지 승수로 설정함으로써 제 2 라그랑지 승수의 갱신의 크기에 대한 제한을 두는 단계를 포함하는 비디오를 인코딩하는 방법.
53. 열거된 예시 실시예 1에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는:
하나 이상의 이전 매크로블록들 및 현재의 매크로블록에서 복수의 라그랑지 승수들의 슬라이딩 윈도 평균을 계산하는 단계를 포함하는 비디오를 인코딩하는 방법.
54. 열거된 예시 실시예 53에 있어서,
복수의 라그랑지 승수들의 경우, 라그랑지 승수들의 서브세트를 라그랑지 승수들의 슬라이딩 윈도로 선택하는 단계, 및
제 2 라그랑지 승수를 슬라이딩 윈도의 평균의 함수로 갱신하는 단계를 더 포함하는 비디오를 인코딩하는 방법.
55. 열거된 예시 실시예 1에 있어서, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계는 제 2 라그랑지 승수를 주기적으로 갱신하는 단계를 포함하고, 여기서 갱신의 주기는 고정된 주기 또는 적응하여-변하는 주기를 포함하는 비디오를 인코딩하는 방법.
56. 열거된 예시 실시예 55에 있어서, 상기 주기는 국소 콘텍스트에 좌우될 수 있고, 국소 콘텍스트는 모션 강도 또는 장면 컷 정보를 포함하는 비디오를 인코딩하는 방법.
57. 열거된 예시 실시예 55에 있어서, 제 2 라그랑지 승수는 슬라이스의 시작부에서 갱신되는 비디오를 인코딩하는 방법.
58. 열거된 예시 실시예 55에 있어서, 제 2 라그랑지 승수는 장면 컷이 검출될 때 갱신되는 비디오를 인코딩하는 방법.
59. 열거된 예시 실시예 55에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는:
비디오 인코더로 적어도 두 매크로블록들의 분산을 계산하는 단계, 및
두 인접한 매크로블록들 사이의 분산의 변화량이 임계값을 초과하는 경우 제 2 라그랑지 승수를 갱신하는 단계를 포함하는 비디오를 인코딩하는 방법.
60. 열거된 예시 실시예 55에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는 제 2 라그랑지 승수를 다수의 주기, 영상, 영상의 영역들에 대하여 갱신하는 단계를 포함하는 비디오를 인코딩하는 방법.
61. 열거된 예시 실시예 55에 있어서, 제 2 라그랑지 승수를 갱신하는 단계는 제 2 라그랑지 승수의 상이한 유형들의 갱신들을 무작위 순서 또는 고정 순서로 수행하는 단계를 포함하고, 여기서 상이한 유형들의 갱신들은 직접 갱신, 단계적 크기 갱신, 및 슬라이딩 윈도 갱신을 포함하는 비디오를 인코딩하는 방법.
62. 열거된 예시 실시예 1에 있어서, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 단계는 비디오 인코더의 라그랑지 승수 갱신 모듈을 이용하는 단계를 포함하고, 상기 방법은 제 2 라그랑지 승수를 이용하여 비디오의 영역을 코딩하는 단계를 포함하는 비디오를 인코딩하는 방법.
63. 열거된 예시 실시예 1에 있어서, 제 1 라그랑지 승수를 결정하는 단계는 복수의 왜곡 메트릭들을 계산하는 단계를 포함하는 비디오를 인코딩하는 방법.
64. 열거된 예시 실시예 1에 있어서,
비디오 인코더로 라그랑지 승수들의 제 1 그룹을 결정하는 단계; 및
라그랑지 승수들의 제 1 그룹으로 라그랑지 승수들의 제 2 그룹을 갱신하는 단계를 포함하는 비디오를 인코딩하는 방법.
65. 열거된 예시 실시예 64에 있어서, 복수의 왜곡 제약들은 라그랑지 승수들의 제 1 그룹을 결정하는데 이용되는 비디오를 인코딩하는 방법.
66. 열거된 예시 실시예 64에 있어서, 라그랑지 승수들의 제 1 그룹을 결정하는 단계는 둘 이상의 차원들 및 하나 이상의 코딩 파라미터들로 레이트 왜곡 경사를 계산하는 단계를 포함하고, 하나 이상의 코딩 파라미터들은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하는 방법.
67. 컴퓨터-판독 가능 매체 상에서 유형적으로 인코딩되고, 데이터 프로세싱 장치로 하여금 비디오 코딩 연산들을 수행하도록 하는 명령들을 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 연산들은:
비디오 인코더로 제 1 라그랑지 승수를 계산하고;
제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 것을 포함하는 컴퓨터 프로그램 제품.
68. 열거된 예시 실시예 67에 있어서, 적어도 하나의 다른 코딩 특성과의 의존성에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
69. 열거된 예시 실시예 68에 있어서, 상기 코딩 특성은 데이터 샘플들의 상관, 시간적 예측, 공간적 예측, 인터 예측, 인트라 예측, 복수의 왜곡, 또는 영상, 영역, 또는 프레임의 특징을 포함하고, 상기 특징은 질감 및 밝기를 포함하는 컴퓨터 프로그램 제품.
70. 열거된 예시 실시예 67에 있어서, 상기 비디오 인코더는 라그랑지 승수 추정 모듈을 포함하고, 라그랑지 승수 추정 모듈은 동적 프로그래밍을 포함하여 제 1 라그랑지 승수를 생성하고, 제 1 라그랑지 승수는 레이트 왜곡 함수의 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 경사를 포함하는 컴퓨터 프로그램 제품.
71. 열거된 예시 실시예 70에 있어서, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
72. 열거된 예시 실시예 67에 있어서, DCT-기반 비디오 코딩, 웨이브렛-기반 비디오 코딩 또는 비트-평면 비디오 코딩을 더 포함하는 컴퓨터 프로그램 제품.
73. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수는 비디오 디스플레이와 연관되는 하나 이상의 특징들에 적어도 부분적으로 기초하여 생성되는 컴퓨터 프로그램 제품.
74. 열거된 예시 실시예 67에 있어서, 적어도 하나의 비디오 코딩 특징지수들 또는 비디오 코딩 통계치에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하기 위한 명령들을 더 포함하고, 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치는 정확성, 복잡성, 효율, 코딩 성능 또는 국소 정보 및 글로벌 정보의 측정치를 포함하는 컴퓨터 프로그램 제품.
75. 열거된 예시 실시예 74에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 제 1 라그랑지 승수를 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치의 함수로서 생성하기 위해 하나 이상의 라그랑지 승수를 반복해서 생성하는 것을 포함하는 컴퓨터 프로그램 제품.
76. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수를 결정하기 위한 수단은 이전에 코딩된 매크로블록들에 대한 상이한 코딩 파라미터들의 임의의 결합을 위해서 제 1 라그랑지 승수를 생성하는 것을 포함하는 컴퓨터 프로그램 제품.
77. 열거된 예시 실시예 76에 있어서, 상이한 코딩 파라미터의 각각은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 하나를 포함하는 컴퓨터 프로그램 제품.
78. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수를 결정하는 것은 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 곡선의 경사의 추정치를 생성하는 것을 포함하고, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 것은 제 2 라그랑지 승수를 상기 추정치로 대체하는 것을 포함하고, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
79. 열거된 예시 실시예 67에 있어서,
비디오 인코더의 라그랑지 승수 추정 모듈을 이용하여 제 3 라그랑지 승수를 결정하고;
제 1 라그란지안의 제 3 라그란지안으로의 대체로 제 1 라그랑지 승수를 갱신하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
80. 열거된 예시 실시예 67에 있어서,
영상의 복수의 매크로블록들 또는 매크로블록들의 영역들에 대한 다른 라그랑지 승수를 계산하고;
라그랑지 승수들의 모두의 함수에 적어도 부분적으로 기초하여 비디오 인코더로 프레임을 인코딩하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
81. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 코딩 파라미터에 이웃하는 코딩 파라미터에서의 레이트 값들 및 왜곡 값을 이용하여 코딩 파라미터에서 왜곡 값 및 레이트 값에 대한 제 1 라그랑지 승수를 추정하는 것을 포함하는 컴퓨터 프로그램 제품.
82. 열거된 예시 실시예 81에 있어서, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
83. 열거된 예시 실시예 82에 있어서, 레이트 및 왜곡 값은 복수의 QP 지점들을 포함하고, 여기서 복수의 QP 지점에 대한 왜곡 및 값은
Figure 112011028186832-pct00122
을 포함하고,
Figure 112011028186832-pct00123
은 QP + l에서의 왜곡 값을 나타내고, 여기서
Figure 112011028186832-pct00124
은 QP + l에서의 레이트 값을 나타내고, l은 -M,....,-1, 1,...,N을 포함하고, M 및 N은 하나 이상의 연산들에서 미리 선택되거나 적응하여 선택되는 컴퓨터 프로그램 제품.
84. 열거된 예시 실시예 83에 있어서, 사전-선택이 이용 가능한 계산 자원들에 적어도 부분적으로 기초하라는 명령들을 더 포함하고, 적응형 선택이 이용 가능한 계산 자원, 비디오 시퀀스 특징, 또는 지역적 특징들에 적어도 부분적으로 기초하라는 명령들을 더 포함하고, 지역적 특징들은 하나 이상의 매크로블록들의 특징들을 포함하는, 컴퓨터 프로그램 제품.
85. 열거된 예시 실시예 84에 있어서, 각각의 QP 지점들의 경우, 데이터 프로세싱 장치로 하여금:
전체 라그랑지 비용 함수가 최소화되는 모드를 결정하고;
상기 모드에 대한 대응하는 비율 및 왜곡 값(
Figure 112011028186078-pct00125
)을 결정하도록 하는 비디오 코딩 연산을 실행하도록 하는 연산을 더 포함하고, 여기서
Figure 112011028186078-pct00126
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00127
은 QP + 1에서의 레이트 값을 나타내고,
레이트 및 왜곡 값(
Figure 112011028186078-pct00128
)이 -M, ..., -1, 1,...,N에 대해 결정될 때, 1차 미분 추정 방법을 이용하여
Figure 112011028186078-pct00129
에서의 곡선의 경사를 추정하고, 여기서
Figure 112011028186078-pct00130
은 QP에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00131
은 QP에서의 레이트 값을 나타내는 컴퓨터 프로그램 제품.
86. 열거된 예시 실시예 85에 있어서, 1차 미분 추정 방법은
Figure 112011028186832-pct00132
에서의 유한 차분의 기하학적 평균을 포함하는 컴퓨터 프로그램 제품.
87. 열거된 예시 실시예 84에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고, 여기서
Figure 112011028186832-pct00133
이고,
Figure 112011028186832-pct00134
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서
Figure 112011028186832-pct00135
이고,
Figure 112011028186832-pct00136
은 l에 대응하는 모드를 나타내는 컴퓨터 프로그램 제품.
88. 열거된 예시 실시예 87에 있어서, 추정되는 제 1 라그랑지 승수는 하나 이상의 후보 모드에 대한 복수의 라그랑지 비용들을 비교하여 왜곡 및 레이트 값을 결정하는 것을 포함하는 컴퓨터 프로그램 제품.
89. 열거된 예시 실시예 84에 있어서, 각각의 QP 지점에 대해서, 전체 라그랑지 비용 함수가 최소화되는 모드를 탐색하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
90. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 것을 포함하는 컴퓨터 프로그램 제품.
91. 열거된 예시 실시예 90에 있어서, 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하기 위한 명령들은:
전체 라그랑지 비용 함수가 현재 라그랑지 승수(λcurrent)에 의해 현재 코딩 파라미터에 대해 최소화되는 모드(π*)를 결정하는 것;
l에 대해 왜곡 및 레이트 값(
Figure 112011028186078-pct00137
)을 결정하는 것으로서, l은 -M,...,-1,1,...,N을 포함하고, M 및 N은 다수의 QP 지점에 대한 수를 나타내고,
Figure 112011028186078-pct00138
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00139
은 QP + 1에서의 레이트 값을 나타내며, 왜곡 및 레이트 값을 결정하는 것; 그리고
1차 미분 추정 방법을 위한 명령들을 이용하여
Figure 112011028186078-pct00140
에서의 곡선의 경사를 추정하는 것을 포함하고, DQP는 QP에서의 왜곡 값을 나타내고, 여기서 RQP는 QP에서의 레이트 값을 나타내고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 레이트의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
92. 열거된 예시 실시예 91에 있어서, 1차 미분 추정 방법은
Figure 112011028186832-pct00141
에서의 유한 차분의 기하학적 평균을 포함하는 컴퓨터 프로그램 제품.
93. 열거된 예시 실시예 91에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고,
Figure 112011028186832-pct00142
이고,
Figure 112011028186832-pct00143
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서,
Figure 112011028186832-pct00144
이고,
Figure 112011028186832-pct00145
은 l에 대한 모드를 나타내는 컴퓨터 프로그램 제품.
94. 열거된 예시 실시예 91에 있어서, 왜곡 및 레이트 함수(
Figure 112011028186832-pct00146
)를 결정하기 위한 명령은:
Figure 112011028186078-pct00147
을 포함하는 왜곡 값(
Figure 112011028186078-pct00148
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하고;
Figure 112011028186078-pct00149
을 포함하는 레이트 값(
Figure 112011028186078-pct00150
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하고;
왜곡의 차 및 레이트 값의 차의 l에 대한 비율을 포함하는
Figure 112011028186078-pct00151
을 계산하는 것을 포함하고, 여기서
Figure 112011028186078-pct00152
의 계산은
Figure 112011028186078-pct00153
를 포함하는 컴퓨터 프로그램 제품.
95. 열거된 예시 실시예 67에 있어서, 국소 정보를 이용하여 제 1 라그랑지 승수를 추정하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
96. 열거된 예시 실시예 95에 있어서, 국지 정보는 분산, 휘도 성분, 휘도 성분의 수단, 색도 성분, 모션 강도, 질감 또는 에지 정보, 또는 공간적 및 시간적으로 이웃하는 영역 또는 매크로블록의 에어리어들의 특징지수 또는 라그랑지 승수를 포함하고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 하나 이상의 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
97. 열거된 예시 실시예 96에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 제 1 라그랑지 승수를 결정하는 것은 λestimate를 계산하기 위한 명령을 포함하고, 여기서 λestimate는 국소 정보 Ilocal에 대한 국소 추정 방법의 함수(flocal(·))이고, λestimate = flocal(Ilocal)인 컴퓨터 프로그램 제품.
98. 열거된 예시 실시예 96에 있어서, 상기 명령들은:
제 1 라그랑지 승수와 연관되는 매크로블록에 대해, 국소 정보를 계산하는 것; 및
계산된 국소 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것을 더 포함하는 컴퓨터 프로그램 제품.
99. 열거된 예시 실시예 98에 있어서, 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정되는 컴퓨터 프로그램 제품.
100. 열거된 예시 실시예 96에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 라그랑지 승수 검색표를 생성하는 것을 포함하고, 라그랑지 승수 검색표의 생성은:
에어리어에 대한 복수의 분산들을 계산하고;
복수의 양자화 파라미터(QP)에 다한 다수의 라그랑지 승수를 추정하고;
복수의 분산을 K개의 빈을 갖는 (K + 1) 그룹들로 배열하고;
복수의 QP들을 L개의 빈들을 갖는 그룹들로 배열하고;
K 및 L개의 빈들에 적어도 부분적으로 기초하여 그룹들 각각에 대한 평균 라그랑지 승수를 계산하고;
라그랑지 승수 검색표 내에 평균 라그랑지 승수를 기록하는 것을 포함하는 컴퓨터 프로그램 제품.
101. 열거된 예시 실시예 100에 있어서, 둘 이상의 에어리어, 슬라이스, 또는 장면들을 위해 라그랑지 승수 검색표를 적응하여 또는 주기적으로 갱신하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
102. 열거된 예시 실시예 67에 있어서, 글로벌 정보를 이용하여 제 1 라그랑지 승수를 추정하는 것을 더 포함하고, 여기서 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
103. 열거된 예시 실시예 102에 있어서, 상기 글로벌 정보는 프레임 레이트, 공간 특징지수, 휘도 및 색도 분산, DC 값, DC 값의 히스토그램, 현재의 코딩 구조, 메타데이터 정보, 또는 현재의 영상들의 그룹(GOP) 내의 계층 레벨을 포함하는 컴퓨터 프로그램 제품.
104. 열거된 예시 실시예 102에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 제 1 라그랑지 승수를 결정하기 위한 명령들은 λestimate를 계산하는 것을 포함하고, 여기서 λestimate는 글로벌 정보(Iglobal)에 대한 전역 추정 방법의 함수(fglobal(·))이고, λestimate= fglobal(Iglobal)인 컴퓨터 프로그램 제품.
105. 열거된 예시 실시예 102에 있어서, 제 1 라그랑지 승수와 연관되는 명령들은:
글로벌 정보를 계산하고;
계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것을 더 포함하는 컴퓨터 프로그램 제품.
106. 열거된 예시 실시예 105에 있어서, 계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것은 시간적 특징지수, 시퀀스, 또는 영상들 또는 영역들 사이의 코딩 차들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 조정하기 위한 명령들을 포함하는 컴퓨터 프로그램 제품.
107. 열거된 예시 실시예 102에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 코딩 파라미터의 함수 및 영상들의 계층 레벨을 포함하고, 여기서 제 1 라그랑지 승수는 λk인 컴퓨터 프로그램 제품.
108. 열거된 예시 실시예 107에 있어서, 제 1 라그랑지 승수를 결정하는 것은:
제 1 라그랑지 승수(λk)를 계층 레벨, 영상들의 그룹(GOP)을 위한 영상들 사이의 변화의 단계적 크기, 및/또는 GOP를 위한 다른 영상으로 설정하는 것으로서, k는 계층 레벨을 나타내고, △GOP는 GOP를 위한 영상들 사이의 변화의 단계적 크기를 나타내고, λanchor는 GOP를 위한 다른 영상을 나타내고, λk = (1 - k·△GOP)·λanchor인, 설정; 및
제 1 라그랑지 승수를 계산하는 것을 더 포함하는 컴퓨터 프로그램 제품.
109. 열거된 예시 실시예 107에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은:
제 1 라그랑지 승수(λk)를 앵커 영상(anchor picture)의 라그랑지 승수 및 앵커 영상의 거리 및 GOP에서의 거리의 비의 함수로서 설정하는 것으로서, 여기서 k는 계층 레벨을 나타내고, λanchor는 GOP를 위한 앵커 영상의 라그랑지 승수를 나타내고, danchor는 앵커 영상의 거리를 나타내고, dGOP는 GOP에서의 거리를 나타내고,
Figure 112011028186078-pct00154
인, 설정; 및
제 1 라그랑지 승수를 계산하는 것을 더 포함하는 컴퓨터 프로그램 제품.
110. 열거된 예시 실시예 107에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 앵커 영상까지의 거리에 적어도 부분적으로 기초하여 영상들의 그룹(GOP)을 위한 하나 이상의 영상들에 대한 라그랑지 승수를 결정하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
111. 열거된 예시 실시예 107에 있어서, 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정되는 컴퓨터 프로그램 제품.
112. 열거된 예시 실시예 111에 있어서, 제 1 라그랑지 승수 검색표는 다수의 코딩 파라미터들에 적어도 부분적으로 기초하는 컴퓨터 프로그램 제품.
113. 열거된 예시 실시예 111에 있어서, 라그랑지 승수 검색표에서의 복수의 라그랑지 승수들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 갱신하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
114. 열거된 예시 실시예 107에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 영상들의 그룹(GOP)에 대한 이전의 계층 구조를 GOP에 대한 후속 계층 구조로 변환하는 함수를 더 포함하는 컴퓨터 프로그램 제품.
115. 열거된 예시 실시예 67에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은:
비디오 인코더의 라그랑지 승수 추정 모듈로 제 1 라그랑지 승수를 추정하고;
제 2 라그랑지 승수를 제 1 라그랑지 승수로 대체하는 것을 포함하는 컴퓨터 프로그램 제품.
116. 열거된 예시 실시예 67에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은 제 2 라그랑지 승수를 일련의 라그랑지 단계들로 변경하여 상기 일련의 단계의 종료 시에 상기 제 2 라그랑지 승수를 제 1 라그랑지 승수로 변경하기 위한 명령들을 포함하는 컴퓨터 프로그램 제품.
117. 열거된 예시 실시예 116에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은 제 1 라그랑지 승수(λestimate) 및 제 2 라그랑지 승수(λcurrent)의 함수인 갱신된 제 2 라그랑지안 승수(λnew)를 계산하기 위한 명령들을 포함하고, 여기서 λnew = λcurrent + △·(λestimate - λcurrent)이고, △는 0 < △ <1이고 미리 설정되거나 적응하여 변경되는 값을 포함하는 컴퓨터 프로그램 제품.
118. 열거된 예시 실시예 116에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은 갱신한 것들에서의 상한 또는 하한을 제 2 라그랑지 승수로 설정함으로써 제 2 라그랑지 승수의 갱신의 크기에 대한 제한을 두기 위한 명령들을 포함하는 컴퓨터 프로그램 제품.
119. 열거된 예시 실시예 67에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은:
하나 이상의 이전 매크로블록들 및 현재의 매크로블록에서 복수의 라그랑지 승수들의 슬라이딩 윈도 평균을 계산하는 것을 포함하는 컴퓨터 프로그램 제품.
120. 열거된 예시 실시예 119에 있어서, 상기 명령들은:
복수의 라그랑지 승수들의 경우, 라그랑지 승수들의 서브세트를 라그랑지 승수들의 슬라이딩 윈도로 선택하고;
제 2 라그랑지 승수를 슬라이딩 윈도의 평균의 함수로 갱신하는 것을 포함하는 비디오 코딩 연산들을 더 포함하는 컴퓨터 프로그램 제품.
121. 열거된 예시 실시예 67에 있어서, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하기 위한 명령들은 제 2 라그랑지 승수를 주기적으로 갱신하기 위한 명령들을 포함하고, 여기서 갱신의 주기는 고정된 주기 또는 적응하여-변하는 주기를 포함하는 컴퓨터 프로그램 제품.
122. 열거된 예시 실시예 121에 있어서, 상기 주기는 국소 콘텍스트에 좌우될 수 있고, 국소 콘텍스트는 모션 강도 또는 장면 컷 정보를 포함하는 컴퓨터 프로그램 제품.
123. 열거된 예시 실시예 121에 있어서, 제 2 라그랑지 승수를 슬라이스의 시작부에서 갱신하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
124. 열거된 예시 실시예 121에 있어서, 장면 컷이 검출될 때 제 2 라그랑지 승수를 갱신하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
125. 열거된 예시 실시예 121에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은:
비디오 인코더로 적어도 두 매크로블록들의 분산을 계산하고;
두 인접한 매크로블록들 사이의 분산의 변화량이 임계값을 초과하는 경우 제 2 라그랑지 승수를 갱신하는 것을 포함하는 컴퓨터 프로그램 제품.
126. 열거된 예시 실시예 121에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은 제 2 라그랑지 승수를 다수의 주기, 영상, 영상의 영역들에 대하여 갱신하기 위한 명령들을 포함하는 컴퓨터 프로그램 제품.
127. 열거된 예시 실시예 121에 있어서, 제 2 라그랑지 승수를 갱신하기 위한 명령들은 제 2 라그랑지 승수의 상이한 유형들의 갱신들을 무작위 순서 또는 고정 순서로 수행하는 것을 포함하고, 여기서 상이한 유형들의 갱신들은 직접 갱신, 단계적 크기 갱신, 및 슬라이딩 윈도 갱신을 포함하는 컴퓨터 프로그램 제품.
128. 열거된 예시 실시예 67에 있어서, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하기 위한 명령들은 비디오 인코더의 라그랑지 승수 갱신 모듈을 이용하는 단계를 포함하고, 상기 방법은 제 2 라그랑지 승수를 이용하여 비디오의 영역을 코딩하는 것을 더 포함하는 컴퓨터 프로그램 제품.
129. 열거된 예시 실시예 67에 있어서, 제 1 라그랑지 승수를 결정하기 위한 명령들은 복수의 왜곡 및/또는 복잡성 메트릭들을 계산하는 것을 포함하는 컴퓨터 프로그램 제품.
130. 열거된 예시 실시예 67에 있어서, 상기 명령들은:
비디오 인코더로 라그랑지 승수들의 제 1 그룹을 결정하고;
라그랑지 승수들의 제 1 그룹으로 라그랑지 승수들의 제 2 그룹을 갱신하는 것을 더 포함하는 컴퓨터 프로그램 제품.
131. 열거된 예시 실시예 130에 있어서, 라그랑지 승수들의 제 1 그룹을 결정하는데 복수의 왜곡 제약들을 이용하기 위한 명령들을 더 포함하는 컴퓨터 프로그램 제품.
132. 열거된 예시 실시예 130에 있어서, 라그랑지 승수들의 제 1 그룹을 결정하는 것은 둘 이상의 차원들 및 하나 이상의 코딩 파라미터들로 레이트 왜곡 경사를 계산하는 것을 포함하고, 하나 이상의 코딩 파라미터들은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 컴퓨터 프로그램 제품.
133. 비디오를 인코딩하기 위한 시스템으로서, 상기 시스템은:
비디오 인코더를 포함하는 하나 이상의 컴포넌트들로 제 1 라그랑지 승수를 계산하고;
제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 것을 포함하는 비디오 코딩 연산들을 수행하도록 구성되는 하나 이상의 컴포넌트들을 포함하는 비디오를 인코딩하기 위한 시스템.
134. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수는 적어도 하나의 다른 코딩 특성과의 의존성에 적어도 부분적으로 기초하여 결정되는 비디오를 인코딩하기 위한 시스템.
135. 열거된 예시 실시예 134에 있어서, 상기 코딩 특성은 데이터 샘플들의 상관, 시간적 예측, 공간적 예측, 인터 예측, 인트라 예측, 복수의 왜곡, 또는 영상, 영역, 또는 프레임의 특징을 포함하고, 상기 특징은 질감 및 밝기를 포함하는 비디오를 인코딩하기 위한 시스템.
136. 열거된 예시 실시예 133에 있어서, 상기 비디오 인코더는 라그랑지 승수 추정 모듈을 포함하고, 라그랑지 승수 추정 모듈은 동적 프로그래밍을 포함하여 제 1 라그랑지 승수를 생성하고, 제 1 라그랑지 승수는 레이트 왜곡 함수의 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 경사를 포함하는 비디오를 인코딩하기 위한 시스템.
137. 열거된 예시 실시예 136에 있어서, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
138. 열거된 예시 실시예 133에 있어서, DCT-기반 비디오 코딩, 웨이브렛-기반 비디오 코딩 또는 비트-평면 비디오 코딩에 대한 명령들을 처리하도록 동작 가능한 비디오를 인코딩하기 위한 시스템.
139. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수는 비디오 디스플레이와 연관되는 하나 이상의 특징들에 적어도 부분적으로 기초하여 생성되는 비디오를 인코딩하기 위한 시스템.
140. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 적어도 하나의 비디오 코딩 특징지수들 또는 비디오 코딩 통계치에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하고, 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치는 정확성, 복잡성, 효율, 코딩 성능 또는 국소 정보 및 글로벌 정보의 측정치를 포함하는 비디오를 인코딩하기 위한 시스템.
141. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수를 결정하는 하나 이상의 컴포넌트들은 제 1 라그랑지 승수를 적어도 하나의 비디오 코딩 특징지수 또는 비디오 코딩 통계치의 함수로서 생성하기 위해 하나 이상의 라그랑지 승수를 반복해서 생성하는 것을 포함하는 비디오를 인코딩하기 위한 시스템.
142. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수를 결정하는 것은 이전에 코딩된 매크로블록들에 대한 상이한 코딩 파라미터들의 임의의 결합을 위해서 제 1 라그랑지 승수를 생성하는 것을 포함하는 비디오를 인코딩하기 위한 시스템.
143. 열거된 예시 실시예 142에 있어서, 상이한 코딩 파라미터의 각각은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 하나를 포함하는 비디오를 인코딩하기 위한 시스템.
144. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수를 결정하는 것은 적어도 하나의 코딩 파라미터에 대한 레이트 왜곡 곡선의 경사의 추정치를 생성하는 것을 포함하고, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 것은 제 2 라그랑지 승수를 상기 추정치로 대체하는 것을 포함하고, 상기 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
145. 열거된 예시 실시예 133에 있어서, 상기 하나 이상의 컴포넌트들은:
비디오 인코더의 라그랑지 승수 추정 모듈을 이용하여 제 3 라그랑지 승수를 결정하고;
제 1 라그란지안의 제 3 라그란지안으로의 대체로 제 1 라그랑지 승수를 갱신하기 위한 명령들을 프로세싱하도록 동작하는 인코딩하기 위한 시스템.
146. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은"
영상의 복수의 매크로블록들 또는 매크로블록들의 영역들에 대한 다른 라그랑지 승수를 계산하고;
라그랑지 승수들의 모두의 함수에 적어도 부분적으로 기초하여 비디오 인코더로 프레임을 인코딩하기 위한 명령들을 수행하기 위해 동작하는 인코딩하기 위한 시스템.
147. 열거된 예시 실시예 133에 있어서, 제 1 라그랑지 승수를 결정하는 것은 코딩 파라미터에 이웃하는 코딩 파라미터에서의 레이트 값들 및 왜곡 값을 이용하여 코딩 파라미터에서 왜곡 값 및 레이트 값에 대한 제 1 라그랑지 승수를 추정하는 것을 포함하는 비디오를 인코딩하기 위한 시스템.
148. 열거된 예시 실시예 147에 있어서, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 해상도, 또는 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
149. 열거된 예시 실시예 148에 있어서, 레이트 및 왜곡 값은 복수의 QP 지점들을 포함하고, 여기서 복수의 QP 지점에 대한 왜곡 및 값은
Figure 112011028186832-pct00155
을 포함하고,
Figure 112011028186832-pct00156
은 QP + l에서의 왜곡 값을 나타내고, 여기서
Figure 112011028186832-pct00157
은 QP + l에서의 레이트 값을 나타내고, l은 -M,....,-1, 1,...,N을 포함하고, M 및 N은 미리 선택되거나 적응하여 선택되는 비디오를 인코딩하기 위한 시스템.
150. 열거된 예시 실시예 149에 있어서, 하나 이상의 컴포넌트들에 대한 사전-선택은 이용 가능한 계산 자원들에 적어도 부분적으로 기초하고, 적응형 선택은 이용 가능한 계산 자원, 비디오 시퀀스 특징, 또는 지역적 특징들에 적어도 부분적으로 기초하고, 지역적 특징들은 하나 이상의 매크로블록들의 특징들을 포함하는, 비디오를 인코딩하기 위한 시스템.
151. 열거된 예시 실시예 150에 있어서, 각각의 QP 지점들의 경우, 하나 이상의 컴포넌트들은:
전체 라그랑지 비용 함수가 최소화되는 모드를 결정하고;
상기 모드에 대한 대응하는 비율 및 왜곡 값(
Figure 112011028186078-pct00158
)을 결정하는 것을 포함하는 명령들을 수행하도록 동작하고, 여기서
Figure 112011028186078-pct00159
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00160
은 QP + 1에서의 레이트 값을 나타내고,
레이트 및 왜곡 값(
Figure 112011028186078-pct00161
)이 -M, ..., -1, 1,...,N에 대해 결정될 때, 1차 미분 추정 방법을 이용하여
Figure 112011028186078-pct00162
에서의 곡선의 경사를 추정하고, 여기서 DQP은 QP에서의 왜곡 값을 나타내고, RQP는 QP에서의 레이트 값을 나타내는 비디오를 인코딩하기 위한 시스템.
152. 열거된 예시 실시예 151에 있어서, 1차 미분 추정 방법은
Figure 112011028186832-pct00163
에서의 유한 차분의 기하학적 평균을 포함하는 비디오를 인코딩하기 위한 시스템.
153. 열거된 예시 실시예 150에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고, 여기서
Figure 112011028186832-pct00164
이고,
Figure 112011028186832-pct00165
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서
Figure 112011028186832-pct00166
이고,
Figure 112011028186832-pct00167
은 l에 대응하는 모드를 나타내는 비디오를 인코딩하기 위한 시스템.
154. 열거된 예시 실시예 153에 있어서, 추정되는 제 1 라그랑지 승수는 왜곡 및 레이트 값의 결정 시에 하나 이상의 후보 모드에 대한 복수의 라그랑지 비용들의 비교를 포함하는 비디오를 인코딩하기 위한 시스템.
155. 열거된 예시 실시예 150에 있어서, 각각의 QP 지점에 대해서, 하나 이상의 컴포넌트들은 전체 라그랑지 비용 함수가 최소화되는 모드에 대한 탐색을 수행하는 비디오를 인코딩하기 위한 시스템.
156. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 제 1 라그랑지 승수를 결정하고, 하나 이상의 컴포넌트들은 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하는 비디오를 인코딩하기 위한 시스템.
157. 열거된 예시 실시예 156에 있어서, 하나 이상의 컴포넌트들은 국소 근사화에 의한 레이트 왜곡 경사 추정을 실행하고, 하나 이상의 컴포넌트들에 대한 동작들은:
전체 라그랑지 비용 함수가 현재 라그랑지 승수(λcurrent)에 의해 현재 코딩 파라미터에 대해 최소화되는 모드(π*)를 결정하는 것;
l에 대해 왜곡 및 레이트 값(
Figure 112011028186078-pct00168
)을 결정하는 것으로서, l은 -M,...,-1,1,...,N을 포함하고, M 및 N은 다수의 QP 지점에 대한 수를 나타내고,
Figure 112011028186078-pct00169
은 QP + 1에서의 왜곡 값을 나타내고,
Figure 112011028186078-pct00170
은 QP + 1에서의 레이트 값을 나타내며, 왜곡 및 레이트 값을 결정하는 것; 그리고
1차 미분 추정 방법에 대한 명령들을 실행하는
Figure 112011028186078-pct00171
에서의 곡선의 경사를 추정하는 것을 포함하고, DQP는 QP에서의 왜곡 값을 나타내고, 여기서 RQP는 QP에서의 레이트 값을 나타내고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 레이트의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
158. 열거된 예시 실시예 157에 있어서, 1차 미분 추정 방법에 대한 명령들은
Figure 112011028186832-pct00172
에서의 유한 차분의 기하학적 평균을 포함하는 비디오를 인코딩하기 위한 시스템.
159. 열거된 예시 실시예 157에 있어서, 추정되는 제 1 라그랑지 승수는 λestimate를 포함하고,
Figure 112011028186832-pct00173
이고,
Figure 112011028186832-pct00174
는 왜곡의 차 및 레이트의 차의 l에 대한 비율을 포함하고, 여기서,
Figure 112011028186832-pct00175
이고,
Figure 112011028186832-pct00176
은 l에 대한 모드를 나타내는 비디오를 인코딩하기 위한 시스템.
160. 열거된 예시 실시예 157에 있어서, 하나 이상의 컴포넌트들은:
Figure 112011028186078-pct00177
을 포함하는 왜곡 값(
Figure 112011028186078-pct00178
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하고;
Figure 112011028186078-pct00179
을 포함하는 레이트 값(
Figure 112011028186078-pct00180
)을 모드(π*), 복수의 QP 지점에 대한 수(i), 및 양자화 파라미터(QP + 1)의 함수로 설정하고;
왜곡의 차 및 레이트 값의 차의 l에 대한 비율을 포함하는
Figure 112011028186078-pct00181
을 계산하는 것을 포함하는 연산들로 왜곡 및 레이트 값(
Figure 112011028186078-pct00182
)을 결정하도록 동작하고, 여기서
Figure 112011028186078-pct00183
의 계산은
Figure 112011028186078-pct00184
를 포함하는 비디오를 인코딩하기 위한 시스템.
161. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 국소 정보를 이용하여 제 1 라그랑지 승수를 결정하는 비디오를 인코딩하기 위한 시스템.
162. 열거된 예시 실시예 161에 있어서, 국지 정보는 분산, 휘도 성분, 휘도 성분의 수단, 색도 성분, 모션 강도, 질감 또는 에지 정보, 또는 공간적 및 시간적으로 이웃하는 영역 또는 매크로블록의 에어리어들의 특징지수 또는 라그랑지 승수를 포함하고, 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 하나 이상의 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
163. 열거된 예시 실시예 162에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 하나 이상의 컴포넌트들은 λestimate를 계산함으로써 제 1 라그랑지 승수를 결정하고, 여기서 λestimate는 국소 정보 Ilocal에 대한 국소 추정 방법의 함수(flocal(·))이고, λestimate = flocal(Ilocal)인 비디오를 인코딩하기 위한 시스템.
164. 열거된 예시 실시예 162에 있어서, 상기 하나 이상의 컴포넌트들은:
제 1 라그랑지 승수와 연관되는 매크로블록에 대해, 국소 정보를 계산하는 것; 및
계산된 국소 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것을 포함하는 연산들을 프로세싱하도록 동작 가능한 비디오를 인코딩하기 위한 시스템.
165. 열거된 예시 실시예 164에 있어서, 제 1 라그랑지 승수는 라그랑지 승수 검색표로부터 결정되는 비디오를 인코딩하기 위한 시스템.
166. 열거된 예시 실시예 162에 있어서, 하나 이상의 컴포넌트들은 라그랑지 승수 검색표를 생성함으로써 제 1 라그랑지 승수를 결정하도록 구성되고, 라그랑지 승수 검색표의 생성은:
에어리어에 대한 복수의 분산들을 계산하고;
복수의 양자화 파라미터(QP)에 다한 다수의 라그랑지 승수를 추정하고;
복수의 분산들을 K개의 빈을 갖는 (K + 1) 그룹들로 배열하고;
복수의 QP들을 L개의 빈들을 갖는 그룹들로 배열하고;
K 및 L개의 빈들에 적어도 부분적으로 기초하여 그룹들 각각에 대한 평균 라그랑지 승수를 계산하고;
라그랑지 승수 검색표 내에 평균 라그랑지 승수를 기록하는 것을 포함하는 비디오를 인코딩하기 위한 시스템.
167. 열거된 예시 실시예 166에 있어서, 하나 이상의 컴포넌트들은 둘 이상의 에어리어, 슬라이스, 또는 장면들을 위해 라그랑지 승수 검색표를 적응하여 또는 주기적으로 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
168. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 글로벌 정보를 이용하여 제 1 라그랑지 승수를 추정하도록 구성되고, 여기서 코딩 파라미터는 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
169. 열거된 예시 실시예 168에 있어서, 상기 글로벌 정보는 프레임 레이트, 공간 특징지수, 휘도 및 색도 분산, DC 값, DC 값의 히스토그램, 현재의 코딩 구조, 메타데이터 정보, 또는 현재의 영상들의 그룹(GOP) 내의 계층 레벨을 포함하는 비디오를 인코딩하기 위한 시스템.
170. 열거된 예시 실시예 168에 있어서, 제 1 라그랑지 승수는 λestimate를 포함하고, 제 1 라그랑지 승수를 결정하기 위한 명령들은 λestimate를 계산하는 것을 포함하고, 여기서 λestimate는 글로벌 정보(Iglobal)에 대한 전역 추정 방법의 함수(fglobal(·))이고, λestimate= fglobal(Iglobal)인 비디오를 인코딩하기 위한 시스템.
171. 열거된 예시 실시예 168에 있어서, 하나 이상의 컴포넌트들은:
글로벌 정보를 계산하고;
계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것을 더 포함하는 제 1 라그랑지 승수에 대한 연산들을 프로세싱하도록 동작 가능한 비디오를 인코딩하기 위한 시스템.
172. 열거된 예시 실시예 171에 있어서, 계산된 글로벌 정보 및 코딩 파라미터에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 결정하는 것은 시간적 특징지수, 시퀀스, 또는 영상들 또는 영역들 사이의 코딩 차들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 조정하는 것을 포함하는 비디오를 인코딩하기 위한 시스템.
173. 열거된 예시 실시예 168에 있어서, 하나 이상의 컴포넌트들은 코딩 파라미터의 함수 및 영상들의 계층 레벨의 함수를 프로세싱함으로써 제 1 라그랑지 승수를 결정하도록 구성되고, 여기서 제 1 라그랑지 승수는 λk인 비디오를 인코딩하기 위한 시스템.
174. 열거된 예시 실시예 173에 있어서, 하나 이상의 컴포넌트들은:
제 1 라그랑지 승수(λk)를 계층 레벨, 영상들의 그룹(GOP)을 위한 영상들 사이의 변화의 단계적 크기, 및/또는 GOP를 위한 다른 영상으로 설정하는 것으로서, k는 계층 레벨을 나타내고, △GOP는 GOP를 위한 영상들 사이의 변화의 단계적 크기를 나타내고, λanchor는 GOP를 위한 다른 영상을 나타내고, λk = (1 - k·△GOP)·λanchor인, 설정; 및
제 1 라그랑지 승수를 계산하는 것을 포함하는 연산들에 의해 제 1 라그랑지 승수를 결정하도록 더 구성되는 인코딩하기 위한 시스템.
175. 열거된 예시 실시예 173에 있어서, 하나 이상의 컴포넌트들은:
제 1 라그랑지 승수(λk)를 앵커 영상(anchor picture)의 라그랑지 승수 및 앵커 영상의 거리 및 GOP에서의 거리의 비의 함수로서 설정하는 것으로서, 여기서 k는 계층 레벨을 나타내고, λanchor는 GOP를 위한 앵커 영상의 라그랑지 승수를 나타내고, danchor는 앵커 영상의 거리를 나타내고, dGOP는 GOP에서의 거리를 나타내고,
Figure 112011028186078-pct00185
인, 설정; 및
제 1 라그랑지 승수를 계산하는 것을 포함하는 연산들로 제 1 라그랑지 승수를 결정하도록 구성되는 비디오를 인코딩하기 위한 시스템.
176. 열거된 예시 실시예 173에 있어서, 하나 이상의 컴포넌트들은 앵커 영상까지의 거리에 적어도 부분적으로 기초하여 영상들의 그룹(GOP)을 위한 하나 이상의 영상들에 대한 라그랑지 승수를 결정하는 것을 포함하는 연산들에 의해 제 1 라그랑지 승수를 결정하도록 구성되는 비디오를 인코딩하기 위한 시스템.
177. 열거된 예시 실시예 173에 있어서, 하나 이상의 컴포넌트들은 상기 하나 이상의 컴포넌트들 내에 저장되는 라그랑지 승수 검색표를 이용하여 제 1 라그랑지 승수를 결정하도록 구성되는 비디오를 인코딩하기 위한 시스템.
178. 열거된 예시 실시예 177에 있어서, 제 1 라그랑지 승수 검색표는 다수의 코딩 파라미터들에 적어도 부분적으로 기초하는 비디오를 인코딩하기 위한 시스템.
179. 열거된 예시 실시예 177에 있어서, 하나 이상의 컴포넌트들은 라그랑지 승수 검색표에서의 복수의 라그랑지 승수들에 적어도 부분적으로 기초하여 제 1 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
180. 열거된 예시 실시예 173에 있어서, 하나 이상의 컴포넌트들은 영상들의 그룹(GOP)에 대한 이전의 계층 구조를 GOP에 대한 후속 계층 구조로 변환하는 함수를 프로세싱함으로써 제 1 라그랑지 승수를 결정하도록 구성되는 비디오를 인코딩하기 위한 시스템.
181. 열거된 예시 실시예 133에 있어서, 상기 하나 이상의 컴포넌트들은:
비디오 인코더의 라그랑지 승수 추정 모듈로 제 1 라그랑지 승수를 추정하고;
제 2 라그랑지 승수를 제 1 라그랑지 승수로 대체함으로써 제 2 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
182. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 제 2 라그랑지 승수를 일련의 라그랑지 단계들로 변경하여 상기 일련의 단계의 종료 시에 상기 제 2 라그랑지 승수를 제 1 라그랑지 승수로 변경함으로써 제 2 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
183. 열거된 예시 실시예 182에 있어서, 제 2 라그랑지 승수를 갱신하는 것은 제 1 라그랑지 승수(λestimate) 및 제 2 라그랑지 승수(λcurrent)의 함수인 갱신된 제 2 라그랑지안 승수(λnew)를 계산하기 위한 하나 이상의 연산들을 포함하고, 여기서 λnew = λcurrent + △·(λestimate - λcurrent)이고, △는 0 < △ <1이고 미리 설정되거나 적응하여 변경되는 값을 포함하는 비디오를 인코딩하기 위한 시스템.
184. 열거된 예시 실시예 182에 있어서, 제 2 라그랑지 승수를 갱신하는 것은 갱신한 것들에서의 상한 또는 하한을 제 2 라그랑지 승수로 설정함으로써 제 2 라그랑지 승수의 갱신의 크기에 대한 제한을 두기 위한 하나 이상의 연산들을 포함하는 비디오를 인코딩하기 위한 시스템.
185. 열거된 예시 실시예 182에 있어서, 하나 이상의 연산들은 하나 이상의 이전 매크로블록들 및 현재의 매크로블록에서 복수의 라그랑지 승수들의 슬라이딩 윈도 평균을 계산함으로써 제 2 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
186. 열거된 예시 실시예 185에 있어서, 하나 이상의 컴포넌트들은:
복수의 라그랑지 승수들의 경우, 라그랑지 승수들의 서브세트를 라그랑지 승수들의 슬라이딩 윈도로 선택하고;
제 2 라그랑지 승수를 슬라이딩 윈도의 평균의 함수로 갱신하도룩 구성되는 비디오를 인코딩하기 위한 시스템.
187. 열거된 예시 실시예 133에 있어서, 제 2 라그랑지 승수를 제 1 라그랑지 승수로 갱신하는 것은 제 2 라그랑지 승수를 주기적으로 갱신하는 것을 포함하고, 여기서 갱신의 주기는 고정된 주기 또는 적응하여-변하는 주기를 포함하는 비디오를 인코딩하기 위한 시스템.
188. 열거된 예시 실시예 187에 있어서, 상기 주기는 국소 콘텍스트에 좌우될 수 있고, 국소 콘텍스트는 모션 강도 또는 장면 컷 정보를 포함하는 비디오를 인코딩하기 위한 시스템.
189. 열거된 예시 실시예 187에 있어서, 하나 이상의 컴포넌트들은 제 2 라그랑지 승수를 슬라이스의 시작부에서 갱신하도록 더 구성되는 비디오를 인코딩하기 위한 시스템.
190. 열거된 예시 실시예 187에 있어서, 하나 이상의 컴포넌트들은 장면 컷이 검출될 때 제 2 라그랑지 승수를 갱신하도록 더 구성되는 비디오를 인코딩하기 위한 시스템.
191. 열거된 예시 실시예 187에 있어서, 하나 이상의 컴포넌트들은:
비디오 인코더로 적어도 두 매크로블록들의 분산을 계산하고;
두 인접한 매크로블록들 사이의 분산의 변화량이 임계값을 초과하는 경우 제 2 라그랑지 승수를 갱신하는 것을 포함하는 연산들에 의해 제 2 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
192. 열거된 예시 실시예 187에 있어서, 제 2 라그랑지 승수를 갱신하는 것은 제 2 라그랑지 승수를 다수의 주기, 영상, 영상의 영역들에 대하여 갱신하기 위한 연산들을 포함하는 비디오를 인코딩하기 위한 시스템.
193. 열거된 예시 실시예 187에 있어서, 하나 이상의 컴포넌트들은 제 2 라그랑지 승수의 상이한 유형들의 갱신들을 무작위 순서 또는 고정 순서로 수행하는 것을 포함하는 연산들에 의해 제 2 라그랑지 승수를 갱신하도록 구성되고, 여기서 상이한 유형들의 갱신들은 직접 갱신, 단계적 크기 갱신, 및 슬라이딩 윈도 갱신을 포함하는 비디오를 인코딩하기 위한 시스템.
194. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 비디오 인코더의 라그랑지 승수 갱신 모듈을 이용하고, 제 2 라그랑지 승수를 이용하여 비디오의 영역을 코딩하는 것을 포함하는 동작들에 의해 제 2 라그랑지 승수를 갱신하도록 구성되는 비디오를 인코딩하기 위한 시스템.
195. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은 복수의 왜곡 및/또는 복잡성 메트릭들을 계산함으로써 제 1 라그랑지 승수를 결정하도록 구성되는 비디오를 인코딩하기 위한 시스템.
196. 열거된 예시 실시예 133에 있어서, 하나 이상의 컴포넌트들은:
비디오 인코더로 라그랑지 승수들의 제 1 그룹을 결정하고;
라그랑지 승수들의 제 1 그룹으로 라그랑지 승수들의 제 2 그룹을 갱신하는 것을 포함하는 연산들에 대한 명령들을 프로세싱하도록 구성되는 비디오를 인코딩하기 위한 시스템.
197. 열거된 예시 실시예 133에 있어서, 라그랑지 승수들의 제 1 그룹을 결정하는데 복수의 왜곡 및/또는 복잡성 메트릭들이 이용되는 비디오를 인코딩하기 위한 시스템.
198. 열거된 예시 실시예 196에 있어서, 하나 이상의 컴포넌트들은 둘 이상의 차원들 및 하나 이상의 코딩 파라미터들로 레이트 왜곡 경사를 계산함으로써 라그랑지 승수들의 제 1 그룹을 결정하도록 구성되고, 하나 이상의 코딩 파라미터들은 다음: 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도, 하나 이상의 코딩 계층, 하나 이상의 QP의 함수, 하나 이상의 프레임 레이트의 함수, 하나 이상의 해상도의 함수, 및/또는 하나 이상의 코딩 계층의 함수 중 임의의 결합을 포함하는 비디오를 인코딩하기 위한 시스템.
본 발명의 여러 예시 실시예가 기술되었지만, 다른 실시예는 다음의 청구항들의 범위 내에 있다.

Claims (23)

  1. 비디오 정보를 인코딩하는 방법에 있어서,
    제 1 라그랑지 승수(first Lagrangian multiplier)를 비디오 인코더로 결정하는 단계로서, 상기 제 1 라그랑지 승수를 결정하는 단계는, 적어도 글로벌 정보를 사용하여 상기 제 1 라그랑지 승수를 예측하는 단계를 포함하고, 상기 글로벌 정보는 프레임 레이트(frame rate), 또는 현재 코딩 구조, 또는 현재 영상 그룹(GOP) 내의 계층 레벨(hierarchy)을 포함하는, 상기 결정 단계와,
    제 2 라그랑지 승수를 초기화하는 단계와,
    제 2 라그랑지 승수를 상기 제 1 라그랑지 승수로 갱신하는 단계로서, 상기 갱신된 제 2 라그랑지 승수는 상기 제 1 라그랑지 승수와 상기 현재 제 2 라그랑지 승수의 함수인, 상기 갱신 단계를
    포함하고,
    상기 비디오 인코더는 상기 갱신된 제 2 라그랑지 승수에 따라 비디오 정보를 인코딩하는, 비디오 정보 인코딩 방법.
  2. 제 1항에 있어서,
    상기 제 1 라그랑지 승수는, 코딩 파라미터에 인접한 코딩 파라미터에서 레이트 값(rate value)과 왜곡 값(distortion value)을 추가 사용하여 코딩 파라미터에서 왜곡 값과 레이트 값에 대해 예측되고,
    각각의 코딩 파라미터는, 하나 이상의 양자화 파라미터(QP), 하나 이상의 프레임 레이트, 하나 이상의 해상도(resolution), 하나 이상의 코딩 계층, 하나 이상의 QP 함수, 하나 이상의 프레임 레이트 함수, 하나 이상의 해상도 함수, 또는 하나 이상의 코딩 계층의 함수 중 임의의 조합을 포함하는, 비디오 정보 인코딩 방법.
  3. 제 2항에 있어서, 상기 레이트 및 왜곡 값은 복수의 QP 지점을 포함하고,
    상기 복수의 QP 지점에 대한 왜곡 및 값은
    Figure 112012073500765-pct00213
    을 포함하고,
    Figure 112012073500765-pct00214
    은 QP + 1에서의 왜곡 값을 나타내고,
    Figure 112012073500765-pct00215
    은 QP + 1에서의 레이트 값을 나타내며,
    l, M, 및 N은 QP 지점의 수를 나타내고, l은 -M,...,-1,1,,,,N을 포함하며, M과 N은 이용 가능한 계산 자원(computational resource)에 적어도 부분적으로 기초해서 미리 선택되거나, 또는 M과 N은 이용 가능한 계산 자원 또는 비디오 시퀀스 특징 또는 영역 특징에 적어도 부분적으로 기초해서 적응하여(adaptively) 선택되고,
    상기 영역 특징은 하나 이상의 매크로블록(macroblock)의 특징을 포함하는, 비디오 정보 인코딩 방법.
  4. 제 3항에 있어서,
    코딩 파라미터에 인접한 코딩 파라미터에서 레이트 값과 왜곡 값을 사용하여 코딩 파라미터에서 왜곡 값과 레이트 값에 대해 상기 제 1 라그랑지 승수를 예측하는 단계는, 각각의 QP 지점에 대해,
    전체 라그랑지 비용 함수가 최소화되는 모드를 결정하는 단계와,
    상기 모드에 대해 대응하는 레이트 및 왜곡 값(
    Figure 112011028187215-pct00216
    )을 결정하는 단계로서,
    Figure 112011028187215-pct00217
    는 QP + 1에서의 왜곡 값을 나타내고,
    Figure 112011028187215-pct00218
    는 QP + 1에서의 레이트 값을 나타내는, 상기 결정 단계와,
    상기 레이트 및 왜곡 값(
    Figure 112011028187215-pct00219
    )이 -M,...,-1,1,..,M에 대해 결정되면, 1차 미분 추정 방법을 이용하여
    Figure 112011028187215-pct00220
    에서 곡선의 경사를 추정하는 단계로서, DQP는 QP에서의 왜곡 값을 나타내고, RQP는 QP에서의 레이트 값을 나타내는, 상기 추정 단계를
    포함하고,
    상기 1차 미분 추정 방법은
    Figure 112011028187215-pct00221
    에서 유한 차이(finite difference)의 기하 평균을 포함하는, 비디오 정보 인코딩 방법.
  5. 제 3항에 있어서,
    코딩 파라미터에 인접한 코딩 파라미터에서 레이트 값과 왜곡 값을 사용하여 코딩 파라미터에서 왜곡 값과 레이트 값에 대해 상기 제 1 라그랑지 승수를 예측하는 단계는,
    추정되는 제 1 라그랑지 승수를 λestimate로 포함하고,
    Figure 112011028187215-pct00222
    이고,
    Figure 112011028187215-pct00223
    는 왜곡의 차와 레이트의 차의 l에 대한 비율을 포함하며,
    Figure 112011028187215-pct00224
    이고,
    Figure 112011028187215-pct00225
    은 상기 l에 대한 모드를 나타내는, 비디오 정보 인코딩 방법.
  6. 제 5항에 있어서, 추정된 상기 제 1 라그랑지 승수는, 왜곡 및 레이트 값을 결정하기 위해 하나 이상의 후보 모드에 대해 복수의 라그랑지 비용을 비교하는 단계를 포함하는, 비디오 정보 인코딩 방법.
  7. 제 3항에 있어서, 각각의 QP 지점에 대해, 상기 방법은, 전체 라그랑지 비용 함수가 최소화되는 모드를 검색하는 단계를 더 포함하는, 비디오 정보 인코딩 방법.
  8. 제 1항에 있어서, 상기 제 1 라그랑지 승수를 추정하기 위해 글로벌 정보 사용시, 상기 제 1 라그랑지 승수를 결정하는 단계는, λestimate를 계산하는 단계를 포함하고, λestimate는 글로벌 정보(Iglobal)에 대한 글로벌 추정 방법의 함수{fglobal(·)}이고, λestimate = fglobal(Iglobal)인, 비디오 정보 인코딩 방법.
  9. 제 1항에 있어서, 상기 제 1 라그랑지 승수를 추정하기 위해 글로벌 정보 사용시, 상기 제 1 라그랑지 승수를 결정하는 단계는,
    상기 글로벌 정보를 계산하는 단계와,
    상기 계산된 글로벌 정보와 코딩 파라미터에 적어도 부분적으로 기초하여 상기 제 1 라그랑지 승수를 결정하는 단계를
    더 포함하고,
    상기 계산된 글로벌 정보와 상기 코딩 파라미터에 적어도 부분적으로 기초하여 상기 제 1 라그랑지 승수를 결정하는 단계는, 임시 특징(temporal characteristics), 시퀀스, 또는 영상(picture) 또는 영역(region) 사이의 코딩 차이에 적어도 부분적으로 기초하여 상기 제 1 라그랑지 승수를 조정하는 단계를 포함하는, 비디오 정보 인코딩 방법.
  10. 제 1항에 있어서, 상기 제 1 라그랑지 승수를 추정하기 위해 글로벌 정보 사용시, 상기 방법은, 코딩 파라미터 함수와 영상의 계층 레벨(hierarchical level of picture)을 포함하는 상기 제 1 라그랑지 승수를 결정하는 단계를 포함하고, 상기 제 1 라그랑지 승수는 λk인, 비디오 정보 인코딩 방법.
  11. 제 10항에 있어서, 상기 제 1 라그랑지 승수를 결정하는 단계는,
    A) 제 1 라그랑지 승수(λk)를 계층 레벨, 영상 그룹(GOP)을 위한 영상과 GOP를 위한 앵커 영상(anchor picture) 사이의 변화의 단계적 크기의 함수로 설정하는 단계로서, k는 계층 레벨을 나타내고, △GOP는 GOP에 대한 영상 사이의 변화의 단계적 크기를 나타내며, λanchor는 GOP에 대한 앵커 영상을 나타내고, λk = (1 - k·△GOP)·λanchor인, 설정 단계와; 상기 제 1 라그랑지 승수를 계산하는 단계, 또는
    B) 상기 제 1 라그랑지 승수(λk)를 앵커 영상 및 앵커 영상의 거리와 GOP에서 거리의 비의 라그랑지 승수의 함수로서 설정하는 단계로서, k는 계층 레벨을 나타내고, λanchor는 GOP에 대한 앵커 영상의 라그랑지 승수를 나타내며, danchor는 상기 앵커 영상의 거리를 나타내고, dGOP는 GOP에서 거리를 나타내며,
    Figure 112011028187215-pct00226
    인, 설정 단계와; 상기 제 1 라그랑지 승수를 계산하는 단계
    중 적어도 하나를 더 포함하는, 비디오 정보 인코딩 방법.
  12. 제 10항에 있어서, 상기 제 1 라그랑지 승수를 결정하는 단계는,
    앵커 영상까지의 거리에 적어도 부분적으로 기초하여 영상 그룹(GOP)에 대해 하나 이상의 영상에 대한 라그랑지 승수를 결정하는 단계, 또는
    라그랑지 승수 검색표(look-up table)로부터 상기 제 1 라그랑지 승수를 결정하는 단계로서, 상기 제 1 라그랑지 승수 검색표는 복수의 코딩 파라미터에 적어도 부분적으로 기초하고, 상기 제 1 라그랑지 승수는 상기 제 1 라그랑지 승수 검색표에서 복수의 라그랑지 승수에 적어도 부분적으로 기초하여 갱신되는 단계, 또는
    GOP에 대해, 후속하는 계층 구조로 영상 그룹(GOP)에 대한 이전 계층 구조를 변환(translate)하는 함수
    중 적어도 하나를 더 포함하는, 비디오 정보 인코딩 방법.
  13. 제 1항에 있어서, 상기 제 2 라그랑지 승수를 갱신하는 단계는,
    상기 제 1 라그랑지 승수(λestimate)와 상기 제 2 라그랑지 승수(λcurrent)의 함수로 상기 갱신된 제 2 라그랑지안 승수(λnew)를 계산하는 단계로서, λnew = λcurrent + △·(λestimate - λcurrent)이고, △는 미리 설정되거나 적응하여 변경되고, 0 < △ <1인 값을 포함하는, 비디오 정보 인코딩 방법.
  14. 제 1항에 있어서, 상기 제 2 라그랑지 승수를 갱신하는 단계는, 갱신한 것의 상한 또는 하한을 제 2 라그랑지 승수로 설정하여 상기 제 2 라그랑지 승수의 갱신의 크기에 제한을 두는 단계를 포함하는, 비디오 정보 인코딩 방법.
  15. 제 1항에 있어서, 상기 제 2 라그랑지 승수를 갱신하는 단계는,
    하나 이상의 이전 매크로블록 및 현재의 매크로블록에서 복수의 라그랑지 승수의 슬라이딩 윈도 평균을 계산하는 단계와,
    복수의 라그랑지 승수에 대해, 라그랑지 승수의 슬라이딩 윈도우에 대해 라그랑지 서브셋을 선택하는 단계와,
    상기 슬라이딩 윈도의 평균의 함수로 상기 제 2 라그랑지 승수를 갱신하는 단계를
    포함하는, 비디오 정보 인코딩 방법.
  16. 제 1항에 있어서, 상기 제 2 라그랑지 승수는 상기 제 1 라그랑지 승수로 주기적으로 갱신되고, 상기 방법은,
    국소 콘텍스트(local context)에 의존하는 주기로서, 상기 국소 콘텍스트는 모션 강도 또는 장면 컷 정보(scene cut information)를 포함하는, 상기 주기와,
    슬라이스의 시작부에서 갱신되는 제 2 라그랑지 승수를 제공하는 단계와,
    장면 컷 감지시 갱신되는 제 2 라그랑지 승수를 제공하는 단계와,
    비디오 인코더로 적어도 두 매크로블록의 분산(variance)을 계산하는 단계와, 두 개의 인접한 매크로블록 사이의 분산의 변화가 임계값을 초과하는 경우, 상기 제 2 라그랑지 승수를 갱신하는 단계와,
    다수의 주기, 영상, 영상의 영역에 대하여 상기 제 2 라그랑지 승수를 갱신하는 단계와,
    상기 제 2 라그랑지 승수의 서로 상이한 유형의 갱신을 무작위 순서 또는 고정 순서로 수행하는 단계로서, 상이한 유형의 갱신은 직접 갱신, 단계적 크기 갱신, 및 슬라이딩 윈도 갱신을 포함하는, 상기 수행 단계를
    더 포함하는, 비디오 정보 인코딩 방법.
  17. 제 1항에 있어서,
    제 1 그룹의 라그랑지 승수를 비디오 인코더로 결정하는 단계와,
    제 2 그룹의 라그랑지 승수를 상기 제 1 그룹의 라그랑지 승수로 갱신하는 단계를
    더 포함하고,
    복수의 왜곡 제약은 상기 제 1 그룹의 라그랑지 승수 결정시 사용되고,
    상기 제 1 그룹의 라그랑지 승수를 결정하는 단계는, 둘 이상의 차원과 하나 이상의 코딩 파라미터로 레이트 왜곡 경사를 계산하는 단계를 포함하는, 비디오 정보 인코딩 방법.
  18. 비디오 정보를 위한 인코더에 있어서,
    적어도 하나의 프로세서와,
    상기 적어도 하나의 프로세서에 의해 수행시, 상기 프로세서가 제 1항 내지 제 17항 중 어느 한 항에 기재된 공정을 수행하도록 하는 명령을 포함하는 컴퓨터 판독 가능 저장 매체를
    포함하는, 비디오 정보를 위한 인코더.
  19. 비디오 정보를 인코딩하기 위한 장치에 있어서,
    적어도 하나의 프로세서와,
    상기 적어도 하나의 프로세서에 의해 수행시, 상기 프로세서가 제 1항 내지 제 17항 중 어느 한 항에 기재된 공정을 수행하도록 하는 명령을 포함하는 컴퓨터 판독 가능 저장 매체를
    포함하는, 비디오 정보를 인코딩하기 위한 장치.
  20. 시스템(system)에 있어서,
    제 1 라그랑지 승수를 제 1항에 기재된 비디오 인코더로 결정하기 위한 수단과,
    제 2 라그랑지 승수를 제 1항에 기재된 상기 제 1 라그랑지 승수로 갱신하기 위한 수단을
    포함하고,
    상기 시스템은 제 1항에 기재된 상기 제 1 라그랑지 승수 또는 상기 제 2 라그랑지 승수 중 하나 이상에 따라 비디오 정보를 인코딩하도록 구성된, 시스템.
  21. 삭제
  22. 컴퓨터 시스템의 적어도 하나의 프로세서에 의해 수행시, 상기 프로세서가 제 1항 내지 제 17항 중 어느 한 항에 기재된 공정을 수행하도록 하는 명령을 포함하는, 컴퓨터 판독 가능 저장 매체.
  23. 컴퓨터 시스템을 사용하는 방법에 있어서,
    제 1항 내지 제 17항 중 어느 한 항에 기재된 공정을 수행하는 단계를 포함하는, 컴퓨터 시스템의 사용 방법.
KR1020117008731A 2008-09-16 2009-09-16 적응형 비디오 인코더 제어 방법 KR101271512B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9726908P 2008-09-16 2008-09-16
US61/097,269 2008-09-16
PCT/US2009/057117 WO2010033565A1 (en) 2008-09-16 2009-09-16 Adaptive video encoder control

Publications (2)

Publication Number Publication Date
KR20110056326A KR20110056326A (ko) 2011-05-26
KR101271512B1 true KR101271512B1 (ko) 2013-06-05

Family

ID=41625232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117008731A KR101271512B1 (ko) 2008-09-16 2009-09-16 적응형 비디오 인코더 제어 방법

Country Status (6)

Country Link
US (1) US8654835B2 (ko)
EP (1) EP2338282A1 (ko)
JP (1) JP5159955B2 (ko)
KR (1) KR101271512B1 (ko)
CN (1) CN102165772B (ko)
WO (1) WO2010033565A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2229786B1 (en) * 2008-01-18 2012-07-25 Thomson Licensing Method for assessing perceptual quality
US20110064129A1 (en) * 2009-09-16 2011-03-17 Broadcom Corporation Video capture and generation at variable frame rates
EP2520092A1 (en) * 2009-12-31 2012-11-07 Thomson Licensing Methods and apparatus for adaptive coupled pre-processing and post-processing filters for video encoding and decoding
JP5441812B2 (ja) * 2010-05-12 2014-03-12 キヤノン株式会社 動画像符号化装置、及びその制御方法
US8513569B2 (en) 2010-07-06 2013-08-20 Nelson Stud Welding, Inc. Arc energy regulation in drawn arc fastener welding process
CN103155559B (zh) * 2010-10-12 2016-01-06 杜比实验室特许公司 用于帧兼容视频传输的联合层优化
US9066097B2 (en) * 2011-02-01 2015-06-23 Sony Corporation Method to optimize the transforms and/or predictions in a video codec
WO2012122421A1 (en) * 2011-03-10 2012-09-13 Dolby Laboratories Licensing Corporation Joint rate distortion optimization for bitdepth color format scalable video coding
WO2012171113A1 (en) * 2011-06-14 2012-12-20 Zhou Wang Method and system for structural similarity based rate-distortion optimization for perceptual video coding
TWI603611B (zh) * 2011-12-21 2017-10-21 Jvc Kenwood Corp Motion picture encoding apparatus, motion picture encoding method, and recording medium for moving picture encoding program
JP5988577B2 (ja) * 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
WO2013106190A1 (en) 2012-01-09 2013-07-18 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
EP2828822B1 (en) 2012-03-21 2018-07-11 Dolby Laboratories Licensing Corporation Systems and methods for power reduction for displays
JP6247286B2 (ja) * 2012-06-12 2017-12-13 コーヒレント・ロジックス・インコーポレーテッド ビデオコンテンツの符号化及び配信のための分散アーキテクチャ
CN102821281B (zh) * 2012-08-21 2015-07-22 深圳广晟信源技术有限公司 一种率失真优化方法
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
EP2928184A4 (en) * 2012-11-29 2016-09-21 Lg Electronics Inc IMAGE ENCODING / DECODING METHOD AND DEVICE SUPPORTING A PLURALITY OF LAYERS
US9615089B2 (en) 2012-12-26 2017-04-04 Samsung Electronics Co., Ltd. Method of encoding and decoding multiview video sequence based on adaptive compensation of local illumination mismatch in inter-frame prediction
CN103079068A (zh) * 2013-01-14 2013-05-01 天津大学 基于运动剧烈程度和空域相关性的帧间模式判决方法
CN103167290B (zh) * 2013-04-01 2016-05-11 深圳市云宙多媒体技术有限公司 一种视频编码运动强度量化方法及装置
CN103313058B (zh) * 2013-06-08 2016-08-17 中国计量学院 针对芯片实现的hevc视频编码多模块优化方法和***
US9578342B2 (en) * 2013-06-24 2017-02-21 Dialogic Corporation Rate control algorithm for scalable video encoding with disposable P-frames
KR102114252B1 (ko) 2013-07-05 2020-05-22 삼성전자 주식회사 영상을 부호화하기 위한 영상 예측 모드 결정 방법 및 장치
US20150085922A1 (en) * 2013-09-25 2015-03-26 Magnum Semiconductor, Inc. Apparatuses and methods for reducing rate and distortion costs during encoding by modulating a lagrangian parameter
CN103533369B (zh) * 2013-10-24 2016-10-26 东南大学 一种可分级视频编码空间增强层的快速模式选择方法
US9866853B2 (en) * 2014-04-15 2018-01-09 Qualcomm Incorporated System and method for lagrangian parameter calculation for display stream compression (DSC)
US20150373326A1 (en) * 2014-06-19 2015-12-24 Magnum Semiconductor, Inc. Apparatuses and methods for parameter selection during rate-distortion optimization
US20160044340A1 (en) * 2014-08-07 2016-02-11 PathPartner Technology Consulting Pvt. Ltd. Method and System for Real-Time Video Encoding Using Pre-Analysis Based Preliminary Mode Decision
US10116418B2 (en) 2014-08-08 2018-10-30 University Of Florida Research Foundation, Incorporated Joint fountain coding and network coding for loss-tolerant information spreading
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
WO2016113585A1 (en) 2015-01-16 2016-07-21 Intel Corporation Encoder slice size control with cost estimation
US9942552B2 (en) * 2015-06-12 2018-04-10 Intel Corporation Low bitrate video coding
US9883183B2 (en) * 2015-11-23 2018-01-30 Qualcomm Incorporated Determining neighborhood video attribute values for video data
CN105516720B (zh) * 2015-12-23 2019-01-29 天地伟业技术有限公司 一种监控摄像机码流的自适应控制方法
WO2017161124A1 (en) * 2016-03-16 2017-09-21 University Of Florida Research Foundation, Incorporated System for video streaming using delay-aware fountain codes
WO2017161122A1 (en) * 2016-03-16 2017-09-21 University Of Florida Research Foundation, Incorporated System for live video streaming using delay-aware fountain codes
TWI593273B (zh) * 2016-04-07 2017-07-21 晨星半導體股份有限公司 位元率控制方法及視訊編碼裝置
CN107371027A (zh) * 2016-05-11 2017-11-21 晨星半导体股份有限公司 比特率控制方法及视频编码装置
AU2018254591B2 (en) * 2017-04-21 2021-01-07 Zenimax Media Inc. Systems and methods for encoder-guided adaptive-quality rendering
CN109246407B (zh) * 2017-04-28 2020-09-25 微软技术许可有限责任公司 图像编码
US10999576B2 (en) * 2017-05-03 2021-05-04 Novatek Microelectronics Corp. Video processing method
US10455250B2 (en) * 2017-05-30 2019-10-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for distributed coding of images
US10469854B2 (en) * 2017-06-21 2019-11-05 Intel Corporation Content, psychovisual, region of interest, and persistence based adaptive quantization for video coding
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
US10880573B2 (en) 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10664477B2 (en) * 2017-12-21 2020-05-26 Futurewei Technologies, Inc. Cardinality estimation in databases
CN108769682B (zh) * 2018-06-20 2022-08-16 腾讯科技(深圳)有限公司 视频编码、解码方法、装置、计算机设备和存储介质
US11363306B2 (en) * 2019-04-05 2022-06-14 Comcast Cable Communications, Llc Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization
US11895330B2 (en) 2021-01-25 2024-02-06 Lemon Inc. Neural network-based video compression with bit allocation
CN114915789B (zh) * 2022-04-13 2023-03-14 中南大学 一种帧间的拉格朗日乘子优化方法、***、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996034495A2 (en) * 1995-04-25 1996-10-31 Philips Electronics N.V. Device and method for coding video pictures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778192A (en) * 1995-10-26 1998-07-07 Motorola, Inc. Method and device for optimal bit allocation between different sources of information in digital video compression
US6167162A (en) * 1998-10-23 2000-12-26 Lucent Technologies Inc. Rate-distortion optimized coding mode selection for video coders
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7194035B2 (en) * 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
CN1875637A (zh) * 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
EP1575299A1 (en) * 2004-03-12 2005-09-14 Thomson Licensing S.A. Motion-compensated spatio-temporal wavelet compression of video data with optimised permutation of the frames
US20090225829A2 (en) * 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder
KR100727972B1 (ko) * 2005-09-06 2007-06-14 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US8326068B1 (en) * 2006-08-30 2012-12-04 Maxim Integrated Products, Inc. Method and apparatus for modeling quantization matrices for image/video encoding
US8594187B2 (en) * 2007-03-02 2013-11-26 Qualcomm Incorporated Efficient video block mode changes in second pass video coding
US20080232468A1 (en) * 2007-03-21 2008-09-25 Mediatek Inc. Method and apparatus for adaptive gop structure determination
EP2227020B1 (en) * 2007-09-28 2014-08-13 Dolby Laboratories Licensing Corporation Video compression and transmission techniques

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996034495A2 (en) * 1995-04-25 1996-10-31 Philips Electronics N.V. Device and method for coding video pictures

Also Published As

Publication number Publication date
JP2012503367A (ja) 2012-02-02
CN102165772A (zh) 2011-08-24
US20110170591A1 (en) 2011-07-14
US8654835B2 (en) 2014-02-18
WO2010033565A1 (en) 2010-03-25
EP2338282A1 (en) 2011-06-29
KR20110056326A (ko) 2011-05-26
JP5159955B2 (ja) 2013-03-13
CN102165772B (zh) 2013-07-24

Similar Documents

Publication Publication Date Title
KR101271512B1 (ko) 적응형 비디오 인코더 제어 방법
US12041234B2 (en) Video compression and transmission techniques
US9479786B2 (en) Complexity allocation for video and image coding applications
Wang et al. Rate-distortion optimization of rate control for H. 264 with adaptive initial quantization parameter determination
US9036699B2 (en) Video coding
KR20140042845A (ko) 지각적 비디오 코딩을 위한 구조적 유사성 기반의 레이트-왜곡 최적화 방법 및 시스템
KR20100133007A (ko) 컨텍스트-적응형 가변 길이 코딩 (cavlc) 을 위한 레이트-왜곡 양자화
WO2019104862A1 (en) System and method for reducing video coding fluctuation
Lim et al. A perceptual rate control algorithm based on luminance adaptation for HEVC encoders
Marzuki et al. Tile-level rate control for tile-parallelization HEVC encoders
KR100708182B1 (ko) 동영상 부호화기의 비트율 제어 장치 및 방법
Tang et al. A low delay rate control method for screen content coding
Li et al. An improved ROI-based rate control algorithm for H. 264/AVC
Wu et al. Rate control in video coding
Ravi Chandra Varma et al. Pyramid coding based rate control for constant bit rate video streaming
KR20090037288A (ko) 동영상 부호화 데이터율 제어를 위한 실시간 장면 전환검출 방법, 이를 이용한 영상통화 품질 향상 방법, 및영상통화 시스템
KR20110069482A (ko) 가변 크기 블록 매칭 기반의 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치
Wang et al. Motion estimation and mode decision for low-complexity h. 264 decoder
Li et al. Analysis of the H. 264 advanced video coding standard and an associated rate control scheme
Liu Fast and adaptive H. 264/AVC video coding for network based applications
Lee Efficient single-pass rate control for video coding based on motion estimation statistics
KR20110065102A (ko) 고속 모션 추정 방법 및 이를 이용한 비디오 인코딩 장치

Legal Events

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

Payment date: 20160513

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee