首页 / 专利库 / 视听技术与设备 / 运动估计 / 비디오 인코딩

비디오 인코딩

阅读:118发布:2021-03-05

专利汇可以提供비디오 인코딩专利检索,专利查询,专利分析的服务。并且An embodiment is directed to a method for selecting a predictive macroblock partition from a plurality of candidate macroblock partitions in motion estimation and compensation in a video encoder including determining a bit rate signal for each of the candidate macroblock partitions, generating a distortion signal for each of the candidate macroblock partitions, calculating a cost for each of the candidate macroblock partitions based on respective bit rate and distortion signals to produce a plurality of costs, and determining a motion vector from the costs. The motion vector designates the predictive macroblock partition.,下面是비디오 인코딩专利的具体信息内容。

  • 비디오 인코더에서의 움직임 추정 및 보상시 예측 매크로블록(macroblock) 분할을 선택하기 위한 방법으로서,
    비트 레이트를 나타내는 비트 레이트 신호를 생성하는 단계 ― 상기 비트 레이트 신호를 생성하는 단계는,
    탐색 영역의 섹션으로부터 현재 프레임의 매크로블록을 감산함으로써 잔여 에러 신호를 생성하는 단계;
    상기 잔여 에러 신호를 정수 개수의 블록들로 나누는 단계;
    상기 정수 개수의 블록들의 변환을 생성하기 위해 상기 정수 개수의 블록들을 공간 도메인으로부터 주파수 도메인으로 변환하는 단계;
    상기 정수 개수의 블록들의 상기 변환의 쉬프트들 및 합들의 제1 조합을 통해 다수의 비-제로 계수들 및 다수의 제로 값 계수들을 갖는 양자화 근사 블록을 생성하는 단계 ― 상기 쉬프트들 및 합들의 제1 조합은 제1 양자화 파라미터의 함수임 ― ;
    상기 양자화 근사 블록의 절대 레벨(absolute level)들의 합을 계산하는 단계; 및
    상기 비-제로 계수들의 수와 상기 제로-값 계수들의 수의 3배와 상기 절대 레벨들의 합을 합산함으로써 상기 양자화 블록에 대한 상기 비트 레이트 신호를 계산하는 단계
    를 포함함 ― ;
    양자화 에러를 나타내는 왜곡 신호를 생성하는 단계;
    상기 비트 레이트 신호 및 상기 왜곡 신호의 함수로서 인코딩 프로세스 동안에 발생하는 레이트 및 왜곡과 연관되는 비용을 계산하는 단계; 및
    상기 비용으로부터 움직임 벡터를 결정하는 단계
    를 포함하고, 상기 움직임 벡터는 상기 예측 매크로블록 분할을 지정하는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 삭제
  • 제 1항에 있어서,
    상기 정수 개수의 블록들의 상기 블록들은 4×4 픽셀들의 치수를 갖는, 방법.
  • 제 1항에 있어서, 상기 왜곡 신호를 생성하는 단계는,
    상기 정수 개수의 블록들의 상기 변환의 쉬프트들 및 합들의 제 2 조합을 통해 역 양자화 근사 블록을 생성하는 단계 ― 상기 쉬프트들 및 합들의 제 2 조합은 제 2 양자화 파라미터의 함수임 ― ; 및
    상기 양자화 근사 블록과 상기 역 양자화 근사 블록 간의 제곱 에러를 결정하는 단계
    를 포함하며, 상기 왜곡 신호는 상기 제곱-에러와 동일한, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 4항에 있어서,
    상기 정수 개수의 블록들 중 상기 블록들은 4×4 픽셀들의 치수를 갖는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 4항에 있어서,
    상기 제곱-에러의 가능 값들을 메모리 내의 룩업-테이블에 저장하는 단계를 더 포함하는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 1항에 있어서, 상기 비용을 계산하는 단계는,
    라그랑지안(Lagrangian) 곱셈기에 의해 곱해지는 상기 왜곡 신호 및 상기 비트 레이트 신호를 합산함으로써 라그랑지안 비용을 계산하는 단계; 및
    상기 정수 개수의 블록들의 각각의 블록에 걸쳐 상기 라그랑지안 비용의 합산을 수행하는 단계를 포함하며,
    상기 비용은 상기 합산과 동일한, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 7항에 있어서,
    상기 정수 개수의 블록들의 상기 블록들은 4×4 픽셀들의 치수를 갖는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 1항에 있어서,
    상기 움직임 벡터는 상기 비용의 최저값에 대응하는 벡터로서 정의되는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 1항에 있어서,
    상기 비디오 인코더는 H.264/AVC 인코더인, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 비디오 인코더에서의 움직임 추정 및 보상시 다수의 후보 매크로블록 분할들로부터 예측 매크로블록 분할을 선택하기 위한 방법으로서,
    상기 후보 매크로블록 분할들 각각에 대하여 비트 레이트를 나타내는 비트 레이트 신호를 생성하는 단계 ― 상기 비트 레이트 신호를 생성하는 단계는,
    상기 후보 매크로블록 분할마다, 개별 후보 매크로블록 분할로부터 현재 프레임의 매크로블록을 감산함으로써 잔여 에러 신호를 생성하는 단계;
    상기 후보 매크로블록 분할마다, 개별 잔여 에러 신호를 정수 개수의 블록들로 나누는 단계;
    상기 후보 매크로블록 분할마다, 개별 정수 개수의 블록들을 공간 도메인으로부터 주파수 도메인으로 변환하고 다수의 변환들을 생성하는 단계;
    상기 변환마다, 개별 변환의 쉬프트들 및 합들의 제1 조합을 통해 다수의 비-제로 계수들 및 다수의 제로 값 계수들을 갖는 양자화 근사 블록을 생성하는 단계 ― 상기 쉬프트들 및 합들의 제1 조합은 제1 양자화 파라미터의 함수임 ― ;
    상기 변환마다, 상기 양자화 근사 블록의 절대 레벨들의 합을 계산하는 단계; 및
    상기 변환마다, 상기 비-제로 계수들의 개별적인 수와 상기 제로-값 계수들의 개별 수의 3배와 상기 절대 레벨들의 개별 합을 합산함으로써 상기 비트 레이트 신호를 계산하는 단계
    를 포함함 ― ;
    상기 후보 매크로블록 분할들 각각에 대하여 양자화 에러를 나타내는 왜곡 신호를 생성하는 단계;
    인코딩 프로세스 동안에 발생하는 레이트 및 왜곡과 연관되는 다수의 비용들을 발생시키기 위해 개별 비트 레이트 신호 및 개별 왜곡 신호의 함수로서 상기 후보 매크로블록 분할들 각각에 대하여 비용을 계산하는 단계; 및
    상기 비용들로부터 움직임 벡터를 결정하는 단계
    를 포함하며, 상기 움직임 벡터는 상기 예측 매크로블록 분할을 지정하는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 삭제
  • 제 11항에 있어서,
    상기 정수 개수의 블록들의 상기 블록들은 4×4 픽셀들의 치수를 가지는, 방법.
  • 제 11항에 있어서, 상기 왜곡 신호를 생성하는 단계는,
    상기 변환마다, 개별 변환의 쉬프트들 및 합들의 제 2 조합을 통해 역 양자화 근사 블록을 생성하는 단계 ― 상기 쉬프트들 및 합들의 제 2 조합은 제 2 양자화 파라미터의 함수임 ― ; 및
    상기 변환마다, 개별 양자화 근사 블록 및 개별 역 양자화 근사 블록 간의 제곱-에러를 결정하는 단계
    를 포함하며, 상기 왜곡 신호는 상기 제곱-에러와 동일한, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 14항에 있어서,
    상기 정수 개수의 블록들의 상기 블록들은 4×4 픽셀들의 치수를 가지는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 14항에 있어서,
    상기 제곱-에러의 가능한 값들을 메모리 내의 룩업-테이블에 저장하는 단계를 더 포함하는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 11항에 있어서,
    상기 후보 매크로블록 분할들 각각은 정수 개수의 블록들을 가지고, 상기 블록들 각각은 개별 비트 레이트 신호 및 개별 왜곡 신호를 가지며, 상기 비용을 계산하는 단계는,
    상기 블록마다, 라그랑지안(Lagrangian) 곱셈기에 의해 곱해지는 개별 왜곡 신호 및 개별 비트 레이트 신호를 합산함으로써 라그랑지안 비용을 계산하는 단계; 및
    상기 후보 매크로블록 분할마다, 개별 블록들의 개별 라그랑지안 비용들을 합산함으로써 상기 비용을 발생시키는(produce) 단계
    를 포함하는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 17항에 있어서,
    상기 블록들은 4×4 픽셀들의 치수를 가지는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 11항에 있어서,
    상기 움직임 벡터는 상기 비용의 최저값의 개별 후보 매크로블록 분할에 대응하는 벡터로서 정의되는, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 제 11항에 있어서,
    상기 비디오 인코더는 H.264/AVC 인코더인, 예측 매크로블록 분할을 선택하기 위한 방법.
  • 비디오 인코더에서의 움직임 추정 및 보상시 예측 매크로블록 분할을 선택하기 위한 장치로서,
    현재 프레임의 매크로블록 및 M×N 탐색 영역을 수신하여 잔여 에러 신호를 생성하는 움직임 보상 블록;
    상기 움직임 보상 블록과 연결되며, 상기 잔여 에러 신호를 수신하여 상기 잔여 에러 신호를 주파수-도메인 잔여 에러 신호로 변환하는 순방향 변환 블록;
    상기 순방향 변환 블록과 연결되며, 상기 주파수-도메인 잔여 에러 신호를 수신하여 제 1 양자화 파라미터의 함수로서 근사화된 양자화 신호를 생성하고, 제 2 양자화 파라미터의 함수로서 근사화된 역 양자화 신호를 생성하는 양자화 근사 블록;
    상기 양자화 근사 블록과 연결되며, 상기 근사화된 양자화 신호를 수신하여 레이트 신호를 생성하는 엔트로피(entropy) 코딩 근사화 블록 ― 상기 레이트 신호는 상기 예측 매크로블록 분할을 선택하는데 사용됨 ― ; 및
    상기 양자화 근사 블록과 연결되며, 상기 근사화된 양자화 신호 및 상기 근사화된 역 양자화 신호를 수신하여 양자화 에러를 나타내는 왜곡 신호를 생성하는 제곱 차이 합 블록
    을 포함하며, 상기 왜곡 신호는 상기 예측 매크로블록 분할을 선택하는데 사용되고, 상기 M×N 탐색 영역은 다수의 후보 매크로블록 분할들을 포함하고, 상기 근사화된 양자화 신호는 다수의 근사화된 양자화 서브-신호들을 포함하며, 상기 근사화된 양자화 서브-신호들 각각은 상기 후보 매크로블록 분할들 중 하나에 대응하고 다수의 비-제로 계수들 및 다수의 제로-값 계수들을 가지며, 상기 엔트로피 코딩 근사화 블록은 개별 근사화된 양자화 서브-신호의 절대 레벨들의 합을 계산하고 절대 레벨들의 개별 합을 비-제로 계수들의 개별 수와 제로-값 계수들의 개별 수의 3배를 합산함으로써 각각의 근사화된 양자화 서브-신호에 대한 레이트-서브-신호를 생성하여, 다수의 제1 근사화된 양자화 서브-신호들을 발생시키며, 상기 근사화된 양자화 신호는 상기 다수의 제1 근사화된 양자화 서브-신호들을 포함하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 21항에 있어서,
    상기 엔트로피 코딩 근사화 블록 및 상기 제곱 차이 합 블록과 연결되며, 인코딩 프로세스 동안에 발생하는 레이트 및 왜곡과 연관되는 비용 결정 블록을 더 포함하며, 상기 비용 결정 블록은 상기 레이트 신호 및 상기 왜곡 신호를 수신하여 움직임 벡터를 생성하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 21항에 있어서,
    상기 움직임 보상 블록은 개별 후보 매크로블록 분할로부터 상기 매크로블록을 감산함으로써 후보 매크로블록 분할마다 상기 잔여 에러 신호를 생성하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 21항에 있어서,
    상기 주파수-도메인 잔여 에러 신호는 다수의 주파수-도메인 잔여 에러 서브-신호들을 포함하며, 상기 각각의 주파수-도메인 잔여 에러 서브-신호는 상기 후보 매크로블록 분할들 중 하나에 대응하며, 상기 양자화 근사 블록은 상기 제 1 양자화 파라미터의 함수로서 개별 주파수-도메인 잔여 에러 서브-신호의 쉬프트들 및 합들의 조합을 통해 각각의 주파수-도메인 잔여 에러 서브-신호에 대하여 근사화된 양자화 서브-신호를 생성하여 다수의 근사화된 양자화 서브-신호들을 발생시키며, 상기 근사화된 양자화 신호는 상기 다수의 근사화된 양자화 서브-신호들을 포함하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 21항에 있어서,
    상기 주파수-도메인 잔여 에러 신호는 다수의 주파수-도메인 잔여 에러 서브-신호들을 포함하며, 상기 각각의 주파수-도메인 잔여 에러 서브-신호는 상기 후보 매크로블록 분할들 중 하나에 대응하고, 상기 양자화 근사 블록은 상기 제 2 양자화 파라미터의 함수로서 개별 주파수-도메인 잔여 에러 서브-신호의 쉬프트들 및 합들의 조합을 통해 각각의 주파수-도메인 잔여 에러 서브-신호에 대하여 근사화된 역 양자화 서브-신호를 생성하여 다수의 근사화된 역 양자화 서브-신호들을 발생시키며, 상기 근사화된 역 양자화 신호는 상기 다수의 근사화된 역 양자화 서브-신호들을 포함하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 삭제
  • 제 21항에 있어서,
    상기 근사화된 역 양자화 신호는 다수의 근사화된 역 양자화 서브-신호들을 포함하고, 상기 근사화된 역 양자화 서브-신호들 각각은 상기 후보 매크로블록 분할들 중 하나에 대응하고, 상기 제곱 차이 합 블록은 다수의 왜곡 서브-신호들을 생성하기 위해 상기 근사화된 양자화 서브-신호와 상기 근사화된 역 양자화 서브-신호 간의 제곱-에러를 결정함으로써 각각의 후보 매크로블록 분할에 대한 왜곡 서브-신호를 생성하며, 상기 왜곡 신호는 상기 다수의 왜곡 서브-신호들을 포함하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 27항에 있어서,
    상기 제곱 차이 합 블록과 연결되며 상기 제곱 에러의 가능한 값들을 룩업-테이블에 저장하기 위한 메모리를 더 포함하는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 22항에 있어서,
    상기 레이트 신호는 다수의 레이트 서브-신호들을 포함하고, 상기 레이트 서브-신호들 각각은 상기 후보 매크로블록 분할들 중 하나에 대응하고, 상기 왜곡 신호는 다수의 왜곡 서브-신호들을 포함하며, 상기 왜곡 서브-신호들 각각은 상기 후보 매크로블록 분할들 중 하나에 대응하고, 상기 비용 결정 블록은 라그랑지안 곱셈기에 의해 곱해지는 개별 왜곡 신호와 개별 레이트 신호를 합산함으로써 각각의 후보 매크로블록 분할에 대한 라그랑지안 비용을 계산하고, 다수의 라그랑지안 비용들을 생성하며, 상기 라그랑지안 비용들을 최저값에 대하여 검색함으로써 상기 움직임 벡터를 생성하고, 상기 움직임 벡터는 상기 최저값의 개별 후보 매크로블록 분할에 대응하는 벡터로서 정의되는, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 제 21항에 있어서,
    상기 비디오 인코더는 H.264/AVC 인코더인, 예측 매크로블록 분할을 선택하기 위한 장치.
  • 说明书全文

    비디오 인코딩{VIDEO ENCODING}

    본 발명은 비디오 인코더들 및 그 내부에서 사용되는 비용 함수들에 관한 것이다.

    비디오 압축은 디지털 비디오 데이터의 압축을 수반한다. 비디오 압축은 비디오 데이터의 비디오 파일 포맷들 및 스트리밍 비디오 포맷들로의 효율적인 코딩을 위해 사용된다. 압축은 적은 비트들을 가진 포맷으로의 데이터의 역변환이며, 통상적으로 수행될 때 데이터는 더 효율적으로 저장되거나 전송될 수 있도록 수행된다. 만약 프로세스의 역(inverse), 즉 압축해제가 원래의 데이터의 정확한 복제를 생성하면 압축은 손실되지 않는다. 통상적으로 이미지 데이터에 적용되는 손실성 압축은 원래의 이미지의 정확한 복제의 재생을 허용하지 않지만, 더 효율적이다. 손실 없는 비디오 압축이 가능하지만, 실질적으로 잘 사용되지 않는다. 표준 비디오 데이터 레이트 감소는 데이터의 폐기를 포함한다.

    비디오는 기본적으로 컬러 픽셀들의 3-차원 어레이이다. 2차원은 움직이는 화상들의 공간적인(수평 및 수직) 방향들로 제공되며, 1차원은 시간 영역을 표현한다.

    프레임은 (대략적으로) 시간의 단일 시점에 해당하는 모든 픽셀들의 세트이다. 기본적으로, 프레임은 정지 화상과 동일하다. 그러나, 인터레이스된 비디오에서 짝수 번호들을 가지는 수직선들의 세트와 홀수 번호들을 가지는 세트는 필드들에서 함께 그룹화된다. 용어 "화상"은 프레임 또는 필드를 지칭할 수 있다.

    비디오 데이터는 공간 및 시간 리던던시를 포함한다. 따라서 단지 프레임 내의 차이들(공간적) 및/또는 프레임들 간의 차이들(시간적)을 등록함으로써 유사성들이 인코딩될 수 있다. 공간 인코딩은 인간의 눈이 밝기의 변화들과 같이 컬러에서의 작은 차이들을 구별할 수 없고, 따라서 컬러의 매우 유사한 영역들이 "평균(averaged out)" 될 수 있다는 사실을 이용하여 수행된다. 시간 압축에서, 하나의 프레임으로부터 다음 프레임으로의 변경들만이 인코딩되는데, 이는 다수의 픽셀들이 종종 일련의 프레임들에서 동일하기 때문이다.

    비디오 압축은 통상적으로 손실 압축을 사용하여 상기 리던던시를 감소시킨다. 이는 통상적으로 (a) 프레임들로부터 공간 리던던시를 감소시키는 이미지 압축 기술들(이는 인트라(intra) 프레임 압축 또는 공간 압축이라 공지됨) 및 (b) 시간 리던던시를 감소시키는 움직임(motion) 보상 및 다른 기술들(인터(inter) 프레임 압축 또는 시간 압축이라 공지됨)에 의해 달성된다.

    H.264/AVC는 ISO(국제 표준 조직) 및 ITU(국제 원격 통신 연합)의 공동의 노력으로부터 발생된 비디오 압축 표준이다. 도 1은 H.264/AVC 인코더에 대한 블록 다이어그램을 도시한다. 입력 비디오 프레임(102)은 매크로블록들(104)로 분할되어 시스템(100)에 제공된다. 각각의 매크로블록(104)에 대하여, 예측기(132)가 생성되고, 원래의 매크로블록(104)으로부터 감산되어 잔여물(107)을 생성한다. 상기 잔여물(107)은 그 후 변환되고(108) 양자화된다(110). 양자화된 매크로블록은 엔트로피 코딩되어(112) 압축된 비트 스트림(113)을 생성한다. 양자화된 매크로블록은 또한 역-양자화되고(114), 역변환되며(116), 가산기(118)에 의해 예측기에 다시 가산된다. 재구성된 매크로블록은 디블록킹(deblocking) 필터(120)를 사용하여 매크로블록 에지들에서 필터링되고, 메모리(122)에 저장된다.

    양자화는 원칙적으로 신호의 동적 범위를 감소시키는 것을 수반한다. 있는 엔트로피 코딩에 의해 생성된 비트들의 개수(레이트)에 영향을 준다. 이는 또한 원래의 매크로블록 및 재구성된 매크로블록을 서로 상이하게 하는 잔여물에 손실을 발생시킨다. 상기 손실은 일반적으로 양자화 에러(왜곡)라 지칭된다. 양자화 강도는 양자화 인자 파라미터에 의해 결정된다. 양자화 파라미터가 높을수록, 왜곡은 증가하고, 레이트는 감소된다.

    전술된 것과 같이, 예측기는 2가지 타입들 - 인트라 예측기(128) 및 인터 예측기(130) - 일 수 있다. 공간 추정(124)은 다수의 선택들 중에서 인트라 예측기(128)를 생성하기 위해 프레임 내의 이웃하는 매크로블록들을 관찰한다. 움직임 추정(126)은 다수의 선택들 중에서 인터 예측기(130)를 생성하기 위해 이전/향후 프레임들을 관찰한다. 인터 예측기는 시간 리던던시를 감소시키는 것을 목표로 한다. 일반적으로, 시간 리던던시를 감소시키는 것은 레이트를 감소시키는데 큰 영향을 미친다.

    움직임 추정은 선택해야하는 잠정적인 예측기들의 수가 너무 많기 때문에 인코더 내의 가장 계산적으로 비싼 블록들 중 하나가 될 수 있다. 실질적으로, 움직임 추정은 이전 프레임들의 서브 세트를 포함하는 탐색 영역 내에서 인터 예측기에 대한 탐색을 포함한다. 탐색 영역으로부터의 잠정적인 예측기들 또는 후보들은 비용 함수 또는 메트릭을 기반으로 검사된다. 메트릭이 탐색 영역 내의 모든 후보들에 대하여 계산되면, 메트릭을 최소화하는 후보는 인터 예측기로 선택된다. 따라서, 움직임 추정에 영향을 미치는 메인 인자들은 탐색 영역 크기, 탐색 방법 및 비용 함수이다.

    특히 비용 함수를 중점적으로, 비용 함수는 본질적으로 현재 프레임의 원래의 블록과 탐색 영역의 후보 블록 사이의 리던던시를 양자화한다. 상기 리던던시는 이상적으로는 정확한 레이트 및 왜곡과 관련하여 양자화될 수 있다.

    현재 움직임 추정기들에서 사용되는 비용 함수는 절대-차이-합(SAD)이다. 도 2는 SAD를 계산하는 방식을 도시한다. 프레임(t)(206)은 인코드 MB(매크로블록) RAM(212) 내에 저장된 매크로블록(208)을 포함하는 현재 프레임이다. 프레임(t-1)(202)은 탐색 RAM(210) 내에 저장된 탐색 영역(204)을 포함하는 이전 프레임이다. 둘 이상의 이전 프레임이 사용될 수 있음이 인식된다.

    도 2의 예에서, 탐색 영역(204) 크기는 M×N이다. 블록들의 크기가 A×B인 것으로 고려할 때, A 및 B는 테이블 1 내에 정의된다. 현재 프레임(206)으로부터 주어진 블록(208)은 c(215)로 표시될 수 있다. 탐색 영역(204)으로부터의 각각의 후보는 p(x,y)(214)으로 표시되고, x∈[0,N]이고, y∈[0,M]이다. (x,y)는 탐색 영역(214) 내의 하나의 위치를 표시한다.

    테이블 1 - 상이한 블록 형태들에 대한 e(x,y)의 표기법들

    하기의 단계들은 움직임 벡터(X,Y)를 획득하기 위해 계산된다. c는 잔여 에러 신호(218)를 획득하기 위해 p(x,y)에 의해 움직임 보상되고(216), 상기 e(x,y)는,

    e(x,y)=p(x,y)-c (1)

    SAD(222)는 e(x,y)로부터 계산된다(220).

    움직임 벡터(X,Y)는 SAD(x,y)로부터 계산된다.

    이상적으로, 예측기 매크로블록 분할은 매크로블록과 가장 유사한 매크로블록 분할일 수 있다. SAD의 단점들 중 하나는 레이트 및 왜곡을 구체적이고 정확하게 고려하지(account for) 않는다는 점이다. 따라서 리던던시는 정확하게 양자화되지 않고, 따라서 선택된 예측 매크로블록 분할은 가장 효율적인 선택이 되지 않을 수 있다. 따라서 몇몇 경우들에서 SAD 접근 방식을 사용하는 것은 최적의 성능 미만의 성능을 야기할 수 있다.

    일 실시예는 비디오 인코더에서의 움직임 추정 및 보상시 예측 매크로블록 분할을 선택하기 위한 방법에 관한 것이며, 상기 방법은 비트 레이트 신호를 결정하는 단계, 왜곡 신호를 생성하는 단계, 상기 비트 레이트 신호와 상기 왜곡 신호에 기초하여 비용을 계산하는 단계, 및 상기 비용으로부터 움직임 벡터를 결정하는 단계를 포함한다. 움직임 벡터는 예측 매크로블록 분할을 지정한다. 상기 방법은 이동 전화기, 디지털 오거나이저 또는 랩탑 컴퓨터와 같은 이동 디바이스 내에 구현될 수 있다.

    도 1은 H.264/AVC 비디오 인코더의 블록 다이어그램을 도시한다.

    도 2는 표준 비디오 인코더에서 사용되는 것과 같은 절대 차이 비용 함수의 합의 블록 다이어그램을 도시한다.

    도 3은 비디오 인코더에 대한 이론적으로 최적의 해결책인 레이트-왜곡-최적 사용 비용 함수의 블록 다이어그램을 도시한다.

    도 4는 비디오 인코더에 대한 레이트-왜곡-최적 사용 비용 함수의 블록 다이어그램을 도시한다.

    도 5는 비용 함수를 사용하는 비디오 인코더와 비교하여 절대 차이 비용 함수의 합을 사용하는 비디오 인코더의 성능의 제 1 그래픽 표현을 도시한다.

    도 6은 비용 함수를 사용하는 비디오 인코더와 비교하여 절대 차이 비용 함수의 합을 사용하는 비디오 인코더의 성능의 제 2 그래픽 표현을 도시한다.

    그 예들이 첨부된 도면들에서 설명되는 몇몇 실시예들에 대한 참조가 수행될 것이다. 상기 실시예들은 본 설명을 제한하도록 의도되는 것이 아님이 이해될 것이다. 대조적으로, 상기 설명은 청구항들에 의해 정의되는 것과 같이 설명의 사상 및 범위 내에 포함될 수 있는 대안들, 수정들 및 등가물들을 커버하도록 의도된다. 또한, 상세한 설명에서, 다수의 특정 세부 사항들은 정확한 이해를 제공하기 위해 설명된다. 그러나, 본 설명은 상기 특정 세부 사항들 없이 실행될 수 있음이 당업자에게 명백할 수 있다. 다른 경우들에서, 공지된 방법들, 절차들, 컴포넌트들 및 회로들은 본 설명의 양상들을 불필요하게 모호하게 하지 않도록 상세하게 설명되지 않는다.

    상세한 설명들 중 몇몇 부분들은 절차들, 로직 블록들, 프로세싱 및 컴퓨터 또는 디지털 시스템 메모리 내의 데이터 비트들에 대한 동작들의 다른 심볼 표현들과 관련하여 제공된다. 상기 설명들 및 표현들은 당업자에게 그들 업무의 요지를 효율적으로 전달하기 위해 데이터 프로세싱 분야에서 당업자에 의해 사용되는 수단들이다. 절차, 로직 블록, 프로세스 등은 본 명세서에서 일반적으로 요구되는 결과를 유도하는 단계들 또는 명령들의 시퀀스인 것으로 간주된다.

    특정하게 언급되지 않는다면, 본 명세서에서의 논의로부터 명백한 것과 같이, 실시예들을 통해 "결정하는" 또는 "출력하는" 또는 "전송하는" 또는 "레코딩하는" 또는 "위치 결정하는" 또는 "저장하는" 또는 "디스플레이하는" 또는 "수신하는" 또는 "인식하는" 또는 "사용하는" 또는 "생성하는" 또는 "제공하는" 또는 "액세스하는" 또는 "검사하는" 또는 "통지하는" 또는 "전달하는" 등과 같은 용어들을 사용하는 논의들은 컴퓨터 시스템 또는 데이터를 조작하고 변환하는 유사한 전자 계산 장치의 동작 및 프로세스들을 지칭한다. 데이터는 컴퓨터 시스템의 레지스터들 및 메모리들 내에 물리적인(전자) 양들로 표시되고, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 정보 저장, 전송 또는 디스플레이 디바이스들 내에 물리적인 양들로서 표현되는 다른 데이터로 변환된다.

    일반적으로, 하기의 설명의 실시예들은 매크로블록 분할들이 실질적으로 예측 매크로블록 분할로 선택되는 경우에 경험할 프로세스들을 근사화하는 일련의 프로세스들에 후보 매크로블록 분할들을 종속시킨다(일반적으로 도 1에 도시). 상기와 같은 동작은 각각의 후보 매크로블록 분할에 대하여 레이트 및 왜곡의 정확한 근사화를 허용한다. 실시예들은 인코딩 프로세스 동안 발생하는 레이트 및 왜곡과 연관된 비용들을 가장 최소화하는 후보 매크로블록 분할을 선택하기 위해 SAD 보다는 라그랑지안(Lagrangian)-기반 비용 함수를 사용한다.

    예측 매크로블록 분할 선택에 대한 최적의 솔루션은 SAD가 위치하는 장소 및 가능한 이득들의 범위를 이해하도록 설정될 필요가 있다. 최적의 솔루션은 레이트(R) 제약 하에 최소 왜곡(D)을 보장할 것이다. 상기 솔루션은 레이트 및 왜곡을 D+

    R로 결합하는 라그랑지안-기반의 최적화를 사용하여 발견된다. 는 레이트와 왜곡 간의 트레이드 오프를 표시하는 라그랑지안 승수이다. 도 3은 RD-최적화된 비용 함수에 대한 최적 솔루션의 블록 다이어그램(300)을 도시한다. 레이트 및 왜곡을 정확하게 계산하기 위해, 전체 인코딩 프로세스는 도 3에 도시되고 하기에서 설명되는 것과 같이 후보 블록들(304) 각각에 대하여 실행되어야 한다.

    현재 프레임(308)은 (1)에 도시된 것과 같은 잔여 에러 신호 e(x,y)를 획득하기 위해 후보 매크로블록 분할들(304)에 의해 움직임 보상된다(310).

    e(x,y)는 정수 개수의 4x4 블록들 e(x,y,z)로 분할되고(312), 상기 경우에

    이다. e(x,y)의 크기는 A×B이다. 상기 A 및 B가 취할 수 있는 값들이 테이블 1에 도시된다. e(x,y,z)가 E에 의해 표시된다고 하자.

    테이블 1 - 상이한 블록 형태들에 대한 e(x,y)의 표기법들

    E(312)는 공간 도메인으로부터 주파수 도메인으로 변환된다(314). 변환된 블록이 t(x,y,z) 또는 t(316)로서 나타내지도록 한다. 변환은 분리할 수 있기 때문에, E(312)에서 2개의 스테이지들, 수평(4) 및 수직(5)에 적용된다. E'는 중간 출력을 나타낸다. D는 (6)에 도시된 변환 행렬을 나타낸다.

    T(316)는 미리 정의된 양자화 파라미터 Q로 양자화된다(318). 양자화 블록이 l(x,y,z) 또는 L(320)에 의해 표시된다고 하자.

    M의 엘리먼트들에 대한 값들은 당업계에 공지된 테이블로부터 유도된다. 상기 테이블의 샘플이 테이블 2에 도시된다.

    테이블 2- H.264 양자화에 대한 곱셈 인자(M)의 값들

    다음에, L(320)은 컨텍스트-적응형 가변 길이 코딩(CAVLC: context-adaptive variable length coding) 방식을 사용하여 엔트로피 코딩된다(328). 있는 Rate(x,y,z,Q) 또는 Rate(Q)(332)로 표시되는 l(x,y,z)를 표시하기 위해 취득된 다수의 비트들을 생성한다.

    CAVLC는 당업계에 공지되고, 또다른 엔트로피 코딩 알고리즘이 그 대신 사용될 수 있음이 당업자에 의해 인식되어야 한다.

    L(320)은 양자화 파라미터 Q로 역 양자화된다(322). 역 양자화된 블록은

    로서 나타내지도록 한다.

    의 엘리먼트들에 대한 값들은 당업계에 공지된 테이블로부터 유도된다. 상기 테이블의 샘플은 테이블 3에 도시된다.

    테이블 3 - H.264 역 양자화에 대한 곱셈 인자(

    )의 값들

    (324)은 주파수 도메인으로부터 공간 도메인으로 변환된다(326). 변환된 블록은 (329)에 나타내지도록 한다. 변환은 분리할 수 있기 때문에 에서 2개의 스테이지들, 수평(14) 및 수직(15)에 적용된다. L'는 중간 출력을 표시한다. 는 (16)에 도시된 변환 행렬을 표시한다.

    와 E 사이의 제곱-에러는 왜곡, Distortion(x,y,z,Q) 또는 Distortion(Q)을 표시한다.

    라그랑지안 비용 Cost4x4(x,y,z,Q,

    )는 미리 정의된 에 대하여 계산된다.

    p(x,y)에 대한 전체 비용은 다음과 같이 주어진다:

    움직임 벡터(X,Y)는 하기와 같이 계산된다.

    전술된 최적의 솔루션은 가능한 최적의 솔루션을 제공하는 데도 불구하고 실행하기에 너무 복잡할 수 있다. 본 설명의 실시예들은 최적의 솔루션의 계산적인 근사치를 나타내는 새로운 비용 함수를 제공한다. 상기 계산적인 근사치는 최적의 솔루션의 결과들에 미소한 영향을 미치면서 복잡성을 상당히 감소시킬 수 있다.

    도 4는 일 실시예의 블록 다이어그램(400)을 도시한다. 최적의 솔루션을 사용하여, 현재 프레임(408)은 잔여 에러 신호 e(x,y)를 획득하기 위해 후보 매크로블록 분할들(406)에 의해 움직임 보상된다(410). e(x,y)는 그 후에 테이블 1에 도시된 것과 같이 정수 개수의 4x4 블록들, e(x,y,z) 또는 E(412)로 분할된다. E(412)는 그 후에 t(x,y,z) 또는 T(416)를 획득하기 위해 (4), (5) 및 (6)에 도시된 것과 같이 공간 도메인으로부터 주파수 도메인으로 변환된다(414).

    최적 솔루션에 따라, T는 양자화될 것이다. 그러나, 양자화 프로세스는 곱셈 및 다른 복소 이진 함수들을 수반하기 때문에 계산적으로 복잡하다. 따라서 일 실시예에서, (7)로부터의 T 및 M의 곱셈은 하기와 같은 일련의 쉬프트들 및 합들을 통해 근사화된다.

    따라서, (7)은 양자화 근사로 재기록될 수 있다(418):

    상기 i,j∈[0,3]이고, Sign(x)는 x가 음수일 때 1이고 양수일 때 0이다.

    S 및 R은 (9) 및 (10)으로부터 결정될 수 있다. 곱셈 인자 M는

    으로 근사화된다. a,b,c,d, 및 의 값들은 대응하는 제 1 양자화 근사 파라미터 및 근사 곱셈 인자 의 대응하는 엘리먼트들에 대한 테이블 4 및 5에서 발견된다.

    테이블 4-양자화 근사화에 대한 곱셈 근사화 인자(

    )의 주어진 값에 대한 (a,b,c,d) 쉬프트 값들

    테이블 5-양자화 근사화에 대한 곱셈 근사화 인자(

    )의 주어진 값에 대한 ( ) 부호 값들

    최적의 솔루션에 따라, 양자화 근사 블록(420)은 레이트 신호(428)를 생성하기 위해 엔트로피 코딩될 것이다. 그러나, CAVLC와 같은 엔트로피 코딩 알고리즘들은 계산적으로 부담이 큰 연산들이다. 4x4 양자화 플럭의 엔트로피 코딩은 토큰(비-제로 계수들의 개수 및 트레일링 1's의 개수를 표시함), 부호들 또는 트레일링 1's, 비-제로 계수들의 레벨 및 비-제로 계수들 사이의 제로들의 연속들(Runs)을 인코딩하는 것을 수반한다. 일 실시예에서, 엔트로피 코딩은 레이트를 추정하기 위해 고속 비트 추정 방법(FBEM)을 사용함으로써 제거된다. FBEM에 따라, 서로 다른 엘리먼트들에 의해 취득되는 비트들의 개수는 비-제로 계수들의 개수(N C ), 제로들의 개수(N Z ) 및 절대 레벨들의 합(SAL: sum of absolute levels)으로부터 유도될 수 있다.

    상기 Scan()은 지그-재그 스캔을 표시함

    상기 Scan()은 지그-재그 스캔을 표시함

    따라서, 레이트(428)는 엔트로피 코딩 근사화(424)를 통해 각각의 후보 매크로블록 분할(406)에 대하여 결정될 수 있다.

    최적의 솔루션에 따라, L은 역-양자화되고(322) 역-변환되어야(326) 할 것이다. 양자화와 유사하게, 역 양자화 또한 계산적으로 복잡하다. 일 실시예에서, 상기 프로세스들은 역 양자화 근사화를 통해 간략화된다. 역 양자화 근사화는 양자화 근사화와 동일한 단계들을 수행하지만 제 2 양자화 파라미터들을 사용하여 달성된다.

    일 실시예에서, 제 2 양자화 파라미터는 S=15가 되도록 선택되며, 제로-왜곡 값을 계산하기 위해 등가물을 근사화한다.

    상기 단계들을 실행함에 따라, 역 양자화(322)는 상당히 간략화되고 역 변환(326)은 더 이상 필요하지 않다. 실시예들이 제 2 양자화 파라미터를 사용하여 양자화 근사를 통해 역 양자화 근사를 달성하기 때문에, L 및 L' 모두는 동일한 회로, 모듈 등으로부터 생성될 수 있다.

    일 실시예에서, 역 양자화 근사 블록 L'(422)이 생성되면, 왜곡(430), Distortion(x,y,z,Q) 또는 Distortion(Q)은 L' 및 L 사이의 제곱-에러에 의해 표현될 수 있다. (L'-L)은 양자화 에러를 표현하고, 작은 동적 범위를 갖는다. 따라서, 실시예들은 제곱 연산을 방지하기 위해 룩업-테이블 내에 제곱 값들을 저장할 수 있다.

    일 실시예에서, 정수 개수의 4x4 블록들 Cost4x4(x,y,z,Q,

    ) 각각에 대한 라그랑지안 비용은 미리 정의된 에 대하여 계산된다.

    일 실시예에서, p(x,y)에 대한 전체 비용은 다음과 같이 주어진다:

    결과적으로, 움직임 벡터(X,Y)는 다음과 같이 선택된다:

    따라서, 상기 실시예들은 각각의 후보 매크로블록 분할에 대한 레이트 및 왜곡을 정확히 근사화할 수 있다. 실시예들은 SAD 비용 함수보다 더 확실한 최적의 가능한 예측 매크로블록 분할들을 선택할 수 있는데, 이는 상기 선택 프로세스가 특히 레이트 및 왜곡을 고려하기 때문이다. 따라서, 실시예들은 도 5 및 도 6에 도시된 것과 같이 주어진 비트 레이트에 대하여 SAD 보다 높은 신호 대 잡음비를 달성할 수 있다.

    개시된 실시예의 전술된 설명은 당업자가 본 발명을 구현하고 이용하기에 용이하도록 하기 위하여 제공되었다. 이들 실시예에 대한 여러 가지 변형은 당업자에게 자명하며, 여기서 한정된 포괄적인 원리는 본 발명의 사용 없이도 다른 실시예에 적용될 수 있다. 따라서, 본 발명은 설명된 실시예에 한정되는 것이 아니며, 여기에 개시된 원리 및 신규한 특징에 나타낸 가장 넓은 범위에 따른다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈