首页 / 专利库 / 广播 / 帧内预测 / 화상 부호화 및 복호화 방법 및 장치

화상 부호화 및 복호화 방법 및 장치

阅读:701发布:2024-01-10

专利汇可以提供화상 부호화 및 복호화 방법 및 장치专利检索,专利查询,专利分析的服务。并且이동 보상의 화상 신호의 부호화 및 복합에 있어서의 글로벌 이동 보상 및 워핑 예측의 처리의 연산 처리를 간략화하기 위해 방법을 제공한다. 화상 프레임의 공간적인 간격이 특별한 특징을 갖는 복수의 대표점의 이동 벡터(1205)를 이용하여, 이전 프레임의 복호 화상(1202)으로부터 현 프레임 화상을 예측한 글로벌 이동 보상한 예측 화상(1203)을 합성하는 처리에 있어서, 대표점의 이동 벡터(1206)로부터 가대표점의 이동 벡터를 구하는 제1 내·외부 삽입 처리(1207)를 행하고, 그 후 가대표점의 이동 벡터(1208)로부터 화소마다의 이동 벡터(1210)를 구하는 제2 내·외부 삽입 처리(1209)를 행한다.
예측 화상을 합성할 때의 제산이 시프트되는 비트 수가 적은 시프트 연산에 따라 대용할 수 있기 때문에, 계산기 또는 전용 하드웨어에 의한 처리를 간략화할 수 있다.,下面是화상 부호화 및 복호화 방법 및 장치专利的具体信息内容。

  • 화상 정보 부호화/복호화를 위해 기준 화상으로부터 현재 화상의 프레임간 예측 화상을 합성하는 방법에 있어서,
    상기 프레임간 예측 화상의 좌표 (i, j), (i+p, j), (i, j+q), (i+p, j+q)에서 4개의 대표점에 대하여 상기 프레임간 예측 화상과 상기 기준 화상 사이의 이동 벡터의 값을 계산하는 제1 단계- i, j, p, q는 정수이고, 상기 대표점들의 이동 벡터의 수평 및 수직 성분은 1/k의 정수배로서, k는 2의 hk승이며, hk는 음이 아닌 정수임 -, 및
    화소 샘플링 간격을 수평, 수직 방향 모두 1이고, 샘플링점의 수평 및 수직 좌표가, 정수에 w(w = wn / wd, wn은 음이 아닌 정수, wd는 2의 hw승, hw는 음이 아닌 정수, wn < wd)를 더하여 얻어지는 화상의, 상기 4개의 대표점에서의 이동 벡터에 대해, 쌍1차 내·외부 삽입(bilinear interpolation/extrapolation)을 행하는 것에 의해, 좌표 (x+w, y+w)에서의 상기 프레임간 예측 화상의 화소의 이동 벡터를 계산하는 제2 단계를 포함하고,
    상기 제2 단계는,
    상기 좌표 (i, j), (i, j+q)에서 대표점의 이동 벡터의 선형 내·외부 삽입을 행하는 것에 의해, 좌표 (i, y+w)에서의 이동 벡터의 수평 및 수직 성분을 각각 1/z(z는 2의 hz승이고, hz는 음이 아닌 정수)의 정수배인 수치로서 계산하고, 상기 좌표 (i+p, j), (i+p, j+q)에서 대표점의 이동 벡터의 선형 내·외부 삽입을 행하는 것에 의해, 좌표 (i+p, y+w)에서의 이동 벡터의 수평 및 수직 성분을 각각 1/z(z는 2의 hz승이고, hz는 음이 아닌 정수)의 정수배인 수치로서 계산하는 제3 단계,
    좌표 (i, y+w)와 (i+p, y+w)에서의 상기 2개의 이동 벡터의 선형 내·외부 삽입을 행하는 것에 의해, 좌표 (x+w, y+w)에서의 화소의 이동 벡터의 수평 및 수직 성분을 각각 1/m(m는 2의 hm승이고, hm은 음이 아닌 정수)의 정수배인 값으로서 계산하는 제4 단계, 및
    상기 기준 화상과 상기 좌표 (x+w, y+w)에서의 상기 화소의 이동 벡터를 이용하여 상기 프레임간 예측 화상의 좌표 (x+w, y+w)에서의 상기 화소의 화소값을 계산하는 제5 단계
    를 포함하는 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 삭제
  • 제1항에 있어서,
    좌표 (i, j), (i+p, j), (i, j+q), (i+p, j+q)에서의 대표점의 이동 벡터의 수평 및 수직 성분을 k배한 것인 (u0, v0), (u1, v1), (u2, v2), (u3, v3)을 이용하여 좌표 (x+w, y+w)에서의 화소의 이동 벡터를 구할 때, 좌표 (i, y+w)를 갖는 점에서의 이동 벡터의 수평 및 수직 성분을 각각 z배한 것인 (uL(y+w), vL(y+w))를,
    uL(y+w) = (((q·wd - (yj)·wd - wn)u0 + ((yj)·wd + wn)u2)z) //// (q·k·wd),
    vL(y+w) = (((q·wd - (yj)·wd - wn)v0 + ((yj)·wd + wn)v2)z) //// (q·k·wd)
    (////은 통상의 제산(division)에 의한 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산이고, 연산 우선 순위는 승산 및 제산과 동등함)
    를 계산하여 구하고,
    좌표 (i+p, y+w)를 갖는 점에서의 이동 벡터의 수평 및 수직 성분을 z배한 것인 (uR(y+w), vR(y+w))를,
    uR(y+w) = (((q·wd - (yj)·wd - wn)u1 + ((yj)·wd + wn)u3)z) //// (q·k·wd),
    vR(y+w) = (((q·wd - (yj)·wd - wn)v1 + ((yj)·wd + wn)v3)z) //// (q·k·wd)
    를 계산하여 구하고,
    좌표 (x+w, y+w)에서의 화소의 이동 벡터의 수평 및 수직 성분을 m배한 것인 (u(x+w, y+w), v(x+w, y+w))를,
    u(x+w, y+w) = (((p·wd - (xi)·wd - wn)uL(y+w) + ((xi)·wd + wn)uR(y+w))m) // (p·z·wd),
    v(x+w, y+w) = (((p·wd - (xi)·wd - wn)vL(y+w) + ((xi)·wd + wn)vR(y+w))m) // (p·z·wd)
    (//는 통상의 제산에 의한 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산이고, 우선 순위는 승산 및 제산과 동등함)
    를 계산하여 구하는 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 삭제
  • 제1항에 있어서,
    상기 p의 절대치가 2의 α승(α는 음이 아닌 정수)인 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 삭제
  • 제1항에 있어서,
    상기 p과 q의 절대치가 각각 2의 α승과 β승(α, β는 음이 아닌 정수)인 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 제1항에 있어서,
    z ≥m인 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 제1항에 있어서,
    k ≥z인 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 제1항에 있어서,
    상기 p와 q의 절대치가 각각 화상의 수평 및 수직 화소의 수와 다른 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 제1항에 있어서,
    r을 화상의 수평 방향의 화소의 수, s를 화상의 수직 방향의 화소의 수라 할 때(r과 s는 양의 정수), 상기 p의 절대치의 1/2은 r보다 작고, 상기 p의 절대치는 r 이상이며, 상기 q의 절대치의 1/2은 s보다 작고, 상기 q의 절대치는 s 이상인 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 제1항에 있어서,
    r을 화상의 수평 방향의 화소의 수, s를 화상의 수직 방향의 화소의 수라 할 때(단, r과 s는 양의 정수), 상기 p의 절대치는 r 이하이고, 상기 p의 절대치를 2배한 값은 r보다 크며, 상기 q의 절대치는 s 이하이고, 상기 q의 절대치를 2배한 값은 s보다 큰 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 제1항에 있어서,
    화상의 수평 방향 및 수직 방향의 화소 수가 각각 r과 s(r과 s는 양의 정수)이고, 화상의 화소가 수평 좌표가 0 이상 r 미만, 수직 좌표가 0 이상 s 미만의 범위에 존재하고 있을 때,
    좌표 (-c, -c), (rc, -c), (-c, sc), (rc, sc)(c = cn/cd, cn은 음이 아닌 정수, cd는 양의 정수, cn < cd)에 위치하고, 수평 및 수직 성분이 1/n의 정수배의 값을 취하는 상기 프레임간 예측 화상의 코너에서의 이동 벡터를 n배(n은 양의 정수)한 것인 (u00, v00), (u01, v01), (u02, v02), (u03, v03) (u00, v00, u01, v01, u02, v02, u03, v03은 정수)를 이용하여,
    u'(x,y) = (((s·cd - cn - y·cd)((r·cd - cn - x·cd)u00 + (x·cd + cn)u01) + (y·cd + cn)((r·cd - cn - x·cd) u02 + (x·cd + cn)u03))k) /// (r·s·n·cd 2 ),
    v'(x,y) = (((s·cd - cn - y·cd)((r·cd - cn - x·cd)v00 + (x·cd + cn)v01 + (y·cd + cn) ((r·cd - cn - x·cd)v02 + (x·cd + cn)v03))k) /// (r·s·n·cd 2 ),
    u0 = u'(i, j),
    v0 = v'(i, j),
    u1 = u'(i+p, j),
    v1 = v'(i+p, j),
    u2 = u'(i, j+q),
    v2 = v'(i, j+q),
    u3 = u'(i+p, j+q),
    v3 = v'(i+p, j+q)
    로 표현되는 (u0, v0), (u1, v1), (u2, v2), (u3, v3) (///은 통상의 제산에 의한 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산이고, 우선 순위는 승산 및 제산과 동등함)을, 대표점 (i, j), (i+p, j), (i, j+q), (i+p, j+q)의 이동 벡터의 수평 및 수직 성분을 k배한 것으로서 사용하는 것을 특징으로 하는 프레임간 예측 화상의 합성 방법.
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 삭제
  • 제1항, 제3항, 제5항 및 제7항 중 어느 한 항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 부호화 방법에 있어서,
    미리 부호화된 프레임의 복호화된 화상 및 현재 프레임의 입력 화상을 이용하여 이동 보상을 수행하는 것에 의해 상기 프레임간 예측 화상을 합성하는 제1 단계,
    상기 프레임간 예측 화상과 상기 현재 프레임의 입력 화상 사이의 오차 화상(differntial image)을 생성하는 제2 단계,
    상기 오차 화상을 변환하여 차후 부호화될 변환된 신호를 얻는 제3 단계,
    상기 변환된 신호를 역변환하여 복호화된 오차 화상을 제공하는 제4 단계, 및
    상기 복호화된 오차 화상과 상기 프레임간 예측 화상을 가산하여 상기 현재 프레임의 결정된 화상을 생성하는 제5 단계
    를 포함하는 것을 특징으로 하는 화상 부호화 방법.
  • 제53항에 있어서,
    상기 제1 단계는 상기 화상의 대표점에서의 이동 벡터에 관한 정보를 추출 및 부호화하는 단계를 포함하는 것을 특징으로 하는 화상 부호화 방법.
  • 제22항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 부호화 방법에 있어서,
    미리 부호화된 프레임의 복호화된 화상 및 현재 프레임의 입력 화상을 이용하여 이동 보상을 수행하는 것에 의해 상기 프레임간 예측 화상을 합성하는 제1 단계,
    상기 프레임간 예측 화상과 상기 현재 프레임의 입력 화상 사이의 오차 화상을 생성하는 제2 단계,
    상기 오차 화상을 변환하여 차후 부호화될 변환된 신호를 얻는 제3 단계,
    상기 변환된 신호를 역변환하여 복호화된 오차 화상 제공하는 제4 단계, 및
    상기 복호화된 오차 화상과 상기 프레임간 예측 화상을 가산하여 상기 현재 프레임의 결정된 화상을 생성하는 제5 단계
    를 포함하고,
    상기 제1 단계는 상기 화상의 코너에서의 이동 벡터에 관한 정보를 추출 및 부호화하는 단계를 포함하는 것을 특징으로 하는 화상 부호화 방법.
  • 제1항, 제3항, 제5항 및 제7항 중 어느 한 항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 복호화 방법에 있어서,
    복호화될 화상 프레임의 프레임간 부호화 신호 및 상기 화상 프레임에 관한 이동 벡터 정보를 입력하는 제1 단계,
    상기 프레임간 부호화 신호를 복호화된 오차 신호로 역변환하는 제2 단계,
    상기 복호화될 화상 프레임과 시간적으로 다른 화상 프레임의 복호화된 화상 신호 및 상기 이동 벡터 정보로부터 프레임간 예측 화상을 제공하는 제3 단계, 및
    상기 복호화된 오차 신호와 상기 프레임간 예측 화상을 가산하여, 상기 복호화될 화상 프레임의 복호화된 화상 신호를 얻는 제4 단계
    를 포함하는 것을 특징으로 하는 화상 복호화 방법.
  • 제56항에 있어서,
    상기 이동 벡터 정보는 상기 화상의 대표점에서의 상기 이동 벡터를 포함하는 것을 특징으로 하는 화상 복호화 방법.
  • 제22항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 복호화 방법에 있어서,
    복호화될 화상 프레임의 프레임간 부호화 신호 및 상기 화상 프레임에 관한 이동 벡터 정보를 입력하는 제1 단계,
    상기 프레임간 부호화 신호를 복호화된 오차 신호로 역변환하는 제2 단계,
    상기 복호화될 화상 프레임과 시간적으로 다른 화상 프레임의 복호화된 화상 신호 및 상기 이동 벡터 정보로부터 프레임간 예측 화상을 생성하는 제3 단계, 및
    상기 복호화된 오차 신호와 상기 프레임간 예측 화상을 가산하여, 상기 복호화될 화상 프레임의 복호화된 화상 신호를 얻는 제4 단계
    를 포함하고,
    상기 제1 단계는 상기 화상의 코너에서의 이동 벡터에 관한 정보를 추출 및 부호화하는 단계를 포함하는 것을 특징으로 하는 화상 복호화 방법.
  • 제1항, 제3항, 제5항 및 제7항 중 어느 한 항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 부호화 장치에 있어서,
    미리 부호화된 프레임의 복호화된 화상 및 현재 프레임의 입력 화상을 이용하여 이동 보상을 수행하는 것에 의해 상기 프레임간 예측 화상을 합성하는 합성기,
    상기 프레임간 예측 화상과 상기 현재 프레임의 입력 화상 사이의 오차 화상을 생성하는 감산기,
    상기 오차 신호를 변환하여 차후 부호화될 변환된 신호를 얻는 변환기,
    상기 변환된 신호를 역변환하여 복호화된 오차 신호를 제공하는 역변환기, 및
    상기 복호화된 오차 신호와 상기 프레임간 예측 화상을 가산하여 상기 현재 프레임의 결정된 화상을 생성하는 가산기
    를 포함하는 것을 특징으로 하는 화상 부호화 장치.
  • 제59항에 있어서,
    상기 합성기는 대표점에서의 이동 벡터에 관한 정보를 추출 및 부호화하는 것을 특징으로 하는 화상 부호화 장치.
  • 제22항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 부호화 장치에 있어서,
    미리 부호화된 프레임의 복호화된 화상 및 현재 프레임의 입력 화상을 이용하여 이동 보상을 수행하는 것에 의해 상기 프레임간 예측 화상을 합성하는 합성기,
    상기 프레임간 예측 화상과 상기 현재 프레임의 입력 화상 사이의 오차 화상을 생성하는 감산기,
    상기 오차 화상을 변환하여 차후 부호화될 변환된 신호를 얻는 변환기,
    상기 변환된 신호를 역변환하여 복호화된 오차 화상을 제공하는 역변환기, 및
    상기 복호화된 오차 화상과 상기 프레임간 예측 화상을 가산하여 상기 현재 프레임의 결정된 화상을 생성하는 가산기
    를 포함하고,
    상기 합성기는 상기 화상의 코너 에서의 이동 벡터에 관한 정보를 추출 및 부호화하는 것을 특징으로 하는 화상 부호화 장치.
  • 제1항, 제3항, 제5항 및 제7항 중 어느 한 항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 복호화 장치에 있어서,
    복호화될 화상 프레임의 프레임간 부호화 신호 및 상기 화상 프레임에 관한 이동 벡터 정보를 입력하는 입력 장치,
    상기 프레임간 부호화 신호를 복호화된 오차 신호로 역변환하는 역변환기,
    상기 복호화될 화상 프레임과 시간적으로 다른 화상 프레임의 복호화된 화상 신호 및 상기 이동 벡터 정보로부터 프레임간 예측 화상을 제공하는 합성기, 및
    상기 복호화된 오차 신호와 상기 프레임간 예측 화상을 가산하여, 상기 복호화될 화상 프레임의 복호화된 화상 신호를 얻는 가산기
    를 포함하는 것을 특징으로 하는 화상 복호화 장치.
  • 제62항에 있어서,
    상기 이동 벡터 정보는 상기 화상의 대표점에서의 상기 이동 벡터를 포함하는 것을 특징으로 하는 화상 복호화 장치.
  • 제22항에 기재된 프레임간 예측 화상의 합성 방법을 이용하는 화상 복호화 장치에 있어서,
    복호화될 화상 프레임의 프레임간 부호화 신호 및 상기 화상 프레임에 관한 이동 벡터 정보를 입력하는 입력 장치,
    상기 프레임간 부호화 신호를 복호화된 오차 신호로 역변환하는 역변환기,
    상기 복호화될 화상 프레임과 시간적으로 다른 화상 프레임의 복호화된 화상 신호 및 상기 이동 벡터 정보로부터 프레임간 예측 화상을 제공하는 합성기, 및
    상기 복호화된 오차 신호와 상기 프레임간 예측 화상을 가산하여, 상기 복호화될 화상 프레임의 복호화된 화상 신호를 얻는 가산기
    를 포함하고,
    상기 이동 벡터 정보는 상기 화상의 코너에서의 이동 벡터에 관한 정보를 포함하는 것을 특징으로 하는 화상 복호화 방법.
  • 说明书全文

    화상 부호화 및 복호화 방법 및 장치{IMAGE ENCODING AND DECODING METHOD AND DEVICE}

    본 발명은, 화상 부호화 및 복호화 방법 및 장치, 보다 상세히 말하면 동화상을 포함하는 화상 신호의 부호화, 복호화의 처리에 있어서, 대표점의 이동 벡터에 대해 내·외부 삽입 처리를 행함에 따라 화상 내의 화소의 이동 벡터를 계산하는 프레임간 예측 화상의 합성 처리를 포함하는 화상 부호화 및 복호화 방법 및 장치에 관한 것이다.

    동화상의 고능률 부호화에 있어서, 다른 시간에 발생한 프레임 사이의 유사성을 활용하는 프레임간 예측 (이동 보상)은 정보 압축에 큰 효과를 나타내는 것으로 알려져 있다. 현재의 화상 부호화 기술의 주류로 되어 있는 이동 보상 방식은, 동화상 부호화 방식의 국제 표준인 H.261, MPEG1, MPEG2에 채용되어 있는 블럭 매칭 방식이다.

    이 방식으로는, 부호화하고자 하는 화상을 다수의 블럭으로 분할하고, 블럭마다 그 이동 벡터를 구한다.

    블럭 매칭은 현재 가장 널리 이용되고 있는 이동 보상 방식이지만, 화상 전체가 확대·축소·회전하는 경우에는, 모든 블럭에 대해 이동 벡터를 전송해야 하고, 부호화 효율이 나빠지는 문제가 있다. 이 문제에 대해, 적은 수의 파라메터를 이용하여 화상 전체의 이동 벡터들을 나타내는 글로벌 이동 보상 (예를 들면, M. Hotter, "Diffbrential estimation of the global motion parameters zoom and pan", Signal Processing, vol. 16, no. 3, pp. 249-265, Mar. 1989)이 제안되었다. 이것은 화상 내의 화소 (x, y)의 이동 벡터 (ug(x, y), vg(x, y))를,

    또는,

    의 형식으로 나타내고, 이 이동 벡터를 이용하여 이동 보상을 행하는 방식이다. 여기서 a0∼a5, b0∼b7은 이동 파라메터이다. 이동 보상을 행할 때에는, 송신측과 수신측에서 동일한 예측 화상을 얻어야 한다. 이 때문에, 송신측은 수신측으로 a0∼a5 또는 b0∼b7의 값을 직접 전송해도 되지만, 대신에 몇 개의 대표점의 이동 벡터를 전송하는 방법도 있다. 지금, 화상의 좌측 상단, 우측 상단, 좌측 하단, 우측 하단의 화소의 좌표가 각각 (0, 0), (r, 0), (0, s), (r, s)로 표시된다고 한다 (단, r과 s는 양의 정수). 이 때, 대표점 (0, 0), (r, 0), (0, s)의 이동 벡터의 수평·수직 성분을 각각 (ua, va), (ub, vb), (uc, vc)로 하면, 수학식 1은,

    이 된다. 이것은 a0∼a5를 전송하는 것 대신에 ua, va, ub, vb, uc, vc를 전송해도 동일한 기능을 실현할 수 있는 것을 의미한다. 이와 마찬가지로, 4개의 대표점 (0, 0), (r, 0), (0, s), (r, s)의 이동 벡터의 수평·수직 성분 (ua, va), (ub, ub), (uc, vc), (ud, vd)를 이용하여 수학식 2는,

    라고 재기록할 수 있다. 따라서, b0∼b7을 전송하는 것 대신에 ua, va, ub, vb, uc, vc, ud, vd를 전송해도 동일한 기능을 실현할 수 있다. 이 모습을 도 1에 도시한다. 현 프레임의 원화상(102)과 참조 화상(101) 사이에서 글로벌 이동 보상이 행해졌다고 해도, 이동 파라메터를 대신하여 대표점(103, 104, 105, 106)의 이동 벡터(107, 108, 109, 110) (이 때, 이동 벡터는 현 프레임의 원화상의 점을 출발점으로 하여, 참조 화상 내의 대응하는 점을 종점으로 하여 정의함)를 전송해도 좋다. 본 명세서에서는 수학식 1을 이용하는 방식을 선형 내·외부 삽입에 기초한 글로벌 이동 보상이라고 하고, 수학식 2를 이용하는 방식을 쌍1차 내·외부 삽입에 기초한 글로벌 이동 보상이라고 한다.

    이 글로벌 이동 보상의 처리를, 화상 내의 보다 작은 영역에 적용하는 것이 워핑 예측이다. 도 2에 쌍1차 내·외부 삽입을 이용하는 워핑 예측의 예를 나타낸다. 이 도면은, 참조 화상(201)을 이용하여 현 프레임의 원화상(202)의 예측 화상을 합성하는 처리를 나타낸 것이다. 우선 현 프레임은 복수의 다각형의 패치로 분할되고, 패치 분할된 화상(209)이 된다. 패치의 정점은 격자점이라고 하며, 각 격자점은 복수의 패치에 공유된다. 예를 들면, 패치(210)는 격자점(211, 212, 213, 214)으로 구성되고, 이들 격자점은 다른 패치의 정점을 겸하고 있다. 이와 같이 화상을 복수의 패치로 분할한 후에 이동 추정이 행해진다. 여기에 도시된 예에서는, 이동 추정은 각 격자점을 대상으로 하여 참조 화상 사이에서 행해진다. 그 결과, 이동 추정 후의 참조 화상(203)에서 각 패치는 변형된 것으로 이루어진다. 예를 들면, 패치(210)는 변형된 패치(204)에 대응하고 있다. 이, 이동 추정의 결과, 격자점(205, 206, 207, 208)이 각각 참조 번호(211, 212, 213, 214)에 대응하는 것으로 추정되었기 때문이다. 이러한 방식으로 격자점의 이동 벡터를 구하고, 쌍1차 내부 삽입에 의해 패치 내의 각 화소의 이동 벡터를 계산함으로써, 프레임간 예측 화상이 합성된다. 이 워핑 예측의 처리는 기본적으로 도 1에 도시된 글로벌 이동 보상과 동일한 처리이고, 「화상의 코너에 위치한 점의 이동 벡터」가 「격자점의 이동 벡터」로 바뀔 뿐이다. 또한, 직사각형을 대신하여 3각형의 패치를 사용하면, 선형 내·외부 삽입에 의한 워핑 예측도 실현할 수 있다.

    또, 적은 수의 파라메터를 이용하여 화상 전체의 이동 벡터들을 나타내는 글로벌 이동 보상의 처리를 간단하게 한 부호화 및 복호 방법에 대해 본원 출원인에 의한 발명 「화상 부호화 방법 및 복호화 방법」(특원평8-60572호) 및 「프레임간 예측 화상의 합성 방법」(특원평8-249601호)이 있다.

    상술한 글로벌 이동 보상이나 워핑 예측을 도입함으로써, 적은 수의 파라메터를 이용하여 화상의 이동을 정확히 표현하는 것이 가능하게 되고, 보다 높은 정보 압축율을 실현할 수 있다. 그러나, 그 한편에서는 종래 방식과 비교하여 부호화 및 복호화에서의 처리량이 증가한다. 특히, 수학식 3 및 수학식 4의 제산은, 처리를 복잡하게 하는 큰 요인이 된다. 즉, 글로벌 이동 보상이나 워핑 예측으로는, 예측 화상의 합성을 위한 처리량이 많아지는 문제가 발생한다.

    도 1은 대표점의 이동 벡터를 전송하는 글로벌 이동 보상의 일례를 도시하는 도면.

    도 2는 워핑 예측의 처리예를 도시하는 도면.

    도 3은 고속 처리를 행하기 위한 대표점 배치의 예를 도시하는 도면.

    도 4는 본 발명의 소프트웨어 화상 부호화 장치의 구성예를 도시하는 도면.

    도 5는 본 발명의 소프트웨어 화상 복호화 장치의 구성예를 도시하는 도면.

    도 6은 본 발명에 따른 화상 부호화 장치의 구성예를 도시하는 도면.

    도 7은 본 발명에 따른 화상 복호화 장치의 구성예를 도시하는 도면.

    도 8은 도 6의 이동 보상 처리부(616)의 구성예를 도시하는 도면.

    도 9는 도 6의 이동 보상 처리부(616)의 다른 구성예를 도시하는 도면.

    도 10은 도 7의 예측 화상 합성부(711)의 구성예를 도시하는 도면.

    도 11은 도 9의 예측 화상 합성부(1103)의 구성예를 도시하는 도면.

    도 12는 글로벌 이동 보상 예측 화상 합성부의 구성예를 도시하는 도면.

    도 13는 소프트웨어 화상 부호화 장치에 있어서의 처리의 일례를 도시하는 흐름도.

    도 14도는 소프트웨어 화상 부호화 장치에 있어서의 이동 보상 처리의 일례를 도시하는 흐름도.

    도 15는 소프트웨어 화상 복호화 장치에 있어서의 처리의 일례를 도시하는 흐름도.

    도 16은 소프트웨어 화상 복호화 장치에 있어서의 예측 화상 합성 처리의 일례를 도시하는 흐름도.

    도 17도는 2단계의 처리에 따라 글로벌 이동 보상 예측 화상을 합성하는 화상 부호화·복호화를 사용하는 장치의 구체예를 도시하는 도면.

    발명의 목적은, 이들 이동 보상 방식에 있어서의 제산의 처리를 비트 수가 적은 레지스터를 이용한 2진수의 시프트 연산으로 대체함으로써 연산량을 감소시키는 것이다.

    상기 목적을 달성하기 위해, 본 발명은, 글로벌 이동 보상이나 워핑 예측에 의해 프레임간 예측 화상의 합성 처리를 행하는 화상 부호화 및 복호화에 있어서, 공간적인 간격이 특징을 갖는 복수의 대표점의 이동 벡터에 대해, 2단계의 내·외부 삽입 처리를 행함에 따라 이동 벡터를 구한다. 보다 상세히 말하면, 프레임간 예측 화상의 합성 처리에 있어서,

    화소의 샘플링 간격을 수평, 수직 방향 모두 1로 하여, 샘플링점 좌표의 수평, 수직 성분이, 모두 정수에 w를 더한 수인 점의 상측에 존재하는 화상을 대상으로 하여 (단, w=wn/wd, wn은 음이 아닌 정수, wd는 2의 hw승, hw는 음이 아닌 정수, wn<wd), 4개의 대표점에서의 이동 벡터에 대해, 쌍1차 내·외부 삽입을 행함에 따라 화소의 이동 벡터를 계산하는 경우, 좌표 (i, j), (i+p, j), (i, j+q), (i+p, j+q) (i, j, p, q는 정수)에 대표점이 존재하고, 대표점의 이동 벡터의 수평·수직 성분이 1/k의 정수배의 값을 취하며 (단, k는 2의 hk승, hk는 음이 아닌 정수), 좌표 (x+w, y+w)에 위치하는 화소의 이동 벡터를 구할 때, 좌표 (i, j)와 (i, j+q) [또는 (i+p, j)]에 위치하는 대표점의 이동 벡터에 대해 선형 내·외부 삽입을 행함에 따라, 좌표 (i, y+w) [또는 (x+w, j)]에 위치하는 점의 이동 벡터의 수� �·수직 성분을 각각 1/z의 정수배를 취하는 수치로 하여 (단, z는 2의 hz승, hz는 음이 아닌 정수) 구하고, 좌표 (i+p, j) [또는 (i, j+q)]와 (i+p, j+q)에 위치하는 대표점의 이동 벡터에 대해 선형 내·외부 삽입을 행함에 따라, 좌표 (i+p, y+w) [또는 (x+w, j+q)]에 위치하는 점의 이동 벡터의 수평·수직 성분을 각각 l/z의 정수배를 취하는 수치로 하여 구한 후, (i, y+w) [또는 (x+w, j)]와 (i+p, y+w) [또는 (x+w, j+p)]에 위치하는 상기 2개의 이동 벡터에 대해 선형 내·외부 삽입을 행함에 따라, 좌표 (x+w, y+w)에 위치하는 화소의 이동 벡터의 수평·수직 성분을 각각 1/m의 정수배를 취하는 수치로 하여 (단, m은 2의 hm승, hm은 음이 아닌 정수) 구한다.

    본 발명은, 대표점의 좌표를 교묘하게 선택함으로써 제산 처리를 시프트 연산으로 실현할 수 있도록 하고, 시프트 연산에 있어서 시프트되는 비트 수를 적게 함에 따라, 비트 수가 적은 레지스터에 의해 상기 이동 보상 방식의 연산을 실현할 수 있다.

    본 발명의 이해를 용이하게 하기 위해, 글로벌 이동 보상 및 워핑 예측에 있어서의 연산의 고속화 방법에 따른 본 출원인이 먼저 출원한 발명 (특원평08-060572 및 특원평08-249601)을 설명한다. 또한, 이하에서는 본 발명을 글로벌 이동 보상에 적용한 경우에 대해 설명하지만, 본 발명은 글로벌 이동 보상과 동일한 처리를 행하는 워핑 예측에도 응용하는 것이 가능하다.

    이하의 설명에서는, 화소의 샘플링 간격을 수평·수직 방향 모두 1로 하여, 좌표의 수평·수직 성분이 모두 정수로 w를 더한 값인 점 (단, w=wn/wd, wn은 음이 아닌 정수, wd는 양의 정수, wn<wd)에 화소가 존재한다고 한다. w는 글로벌 이동 보상에 있어서의 대표점의 좌표와 화소의 좌표 위상의 편차를 나타내고 있고, 전형적인 값으로는 0, 1/2, 1/4 등을 들 수 있다. 또한, 화상의 수평 방향과 수직 방향의 화소 수는 각각 r과 s이고 (단, r과 s는 양의 정수), 화상의 화소는 수평 좌표가 0 이상 r 미만, 수직 좌표가 0 이상 s 미만의 범위에 존재한다고 한다.

    선형 내·외부 삽입 (아핀(arffine) 변환), 또는 쌍1차 내·외부 삽입 (쌍1차 변환)을 이용한 이동 보상을 행할 때에는, 화소마다의 이동 벡터에 대해 양자화를 행하면, 미스매치의 방지나 연산의 간략화등의 효과를 얻을 수 있다 (특원평06-193970). 이하에서는, 화소의 이동 벡터의 수평 성분과 수직 성분이 1/m (m은 양의 정수)의 정수배라고 한다. 또한, 「배경기술」에서 설명한 대표점의 이동 벡터를 이용하는 글로벌 이동 보상을 행한다고 가정하고, 각 대표점의 이동 벡터는 1/k (k는 양의 정수)의 정수배라고 한다. 또, 본 명세서에서는, 「화소의 이동 벡터」는 글로벌 이동 보상을 행할 때, 실제로 예측 화상을 합성하기 위해 이용하는 이동 벡터의 것을 가리킨다. 한편, 「대표점의 이동 벡터」는 화소의 이동 벡터를 계산하기 위해 이용하는 파라메터를 뜻한다. 따라서, 양자화 스텝 사이즈의 차이 등이 원인으로, 동일한 좌표 상에 존재해도 화소의 이동 벡터와 대표점의 이동 벡터가 일치하지 않은 경우도 일어날 수 있다.

    우선, 쌍1차 내·외부 삽입을 이용하는 글로벌 이동 보상에 대해 도 3을 이용하여 설명한다. 이 예에서는, 도 1에 도시한 바와 같이, 화상(301)의 코너에 위치하는 점은 대표점으로 하지 않고, (i, j), (i+p, j), (i, j+q), (i+p, j+q)에 위치하는 점(302, 303, 304, 305)으로서 일반화한다 (i, j, p, q는 정수). 이 때, 점(302, 303, 304, 305)은 화상의 내부에 존재해도, 외부에 존재해도 된다. 대표점의 이동 벡터의 수평·수직 성분을 k배한 것을 각각 (u0, v0), (u1, v1), (u2, v2), (u3, v3)로 하면 (u0, v0, u1, v1, u2, v2, u3, v3은 정수), (x+w, y+w)에 위치하는 화소의 이동 벡터의 수평·수직 성분을 m배한 것 (u(x+w, y+w), v(x+w, y+w))은, w=0일 때 이하의 식으로 나타낼 수 있다 (단, x, y, u(x, y), v(x, y)는 정수).

    다. 「//」는 통상의 제산에 의한 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산으로, 연산자로서의 우선 순위는 승·제산과 동등하다. 연산 오차를 작게 하기 위해서는, 비정수치는 가장 가까운 정수로 반올림하는 것이 바람직하다. 이 때 정수에 1/2을 더한 값의 반올림 방법은,

    (1) 0에 가까운 방향으로 반올림한다,

    (2) 0으로부터 멀어지는 방향으로 반올림한다,

    (3) 피제수가 음인 경우에는 0에 가까운 방향, 양인 경우에는 0으로부터 멀어지는 방향으로 반올림한다 (제수는 항상 양이라고 함),

    (4) 피제수가 음인 경우에는 0으로부터 멀어지는 방향, 양인 경우에는 0에 가까운 방향으로 반올림한다 (제수는 항상 양이라고 함),

    등을 생각할 수 있다. 이들 중에서 (3)과 (4)는, 피제수의 정부에 상관없이 반올림하는 방향이 변화하지 않기 때문에, 정부 판정이 필요없는 만큼 처리량의 점에서 유리하다. (3)을 이용한 고속 처리는, 예를 들면 이하의 식에 의해 실현할 수 있다.

    단, 「#」은 소수점 이하를 0의 방향으로 잘라 버리는 정수의 제산이고, 연산의 우선 순위는 승·제산과 동일하다고 한다. 이것은, 일반적으로 계산기로는 가장 실현하기 쉬운 형식의 제산이다. 여기서, L과 M은 제산의 피제수를 항상 양으로 유지하기 위한 수로, 충분히 큰 양의 정수이다. 또한, (pqk#2)의 항은, 제산 결과를 가장 가까운 정수로 반올림하기 위해 이용된다.

    처리를 정수화하는 것은 그 자체로서 처리량의 저감에 공헌하지만, 여기서 p, q, k를 각각 2의 α, β, hk승 (α, β, hk는 음이 아닌 정수)로 하면, 수학식 5의 제산은 α+β+hk 비트의 시프트 연산으로 실현할 수 있기 때문에, 계산기나 전용 하드웨어에 있어서의 처리량을 크게 저감할 수 있다. 또한, m을 2의 hm승으로 하면 (hm은 음이 아닌 정수, hm<α+β+hk), 수학식 6은,

    이라고 재기록할 수 있고 (「x<<α」는 x를 α 비트 좌측으로 시프트하여 하위 α비트에 0을 넣고, 「x>>α」는 x를 α비트 우측으로 시프트하여 상위 α 비트에 0을 넣은 것을 의미하고, 이들의 연산자의 우선 순위는 가·감산과 승·제산의 중간이라고 함), 시프트되는 비트 수를 α+β+h k -h m 으로 할 수 있다.

    w가 0이 아닐 때에는, w=wn/wd으로 정의하여, 수학식 5는 아래와 같이 재기록할 수 있다.

    이 때, wd가 2의 hw승이고, hw는 음이 아닌 정수라고 하면, (p·q·k·wd·wd)에 의한 제산은 α+β+hk+2hw 비트의 시프트 연산이 되고, w=0인 경우와 마찬가지로 제산을 시프트 연산으로 치환하는 것이 가능해진다. 또한, 수학식 7의 경우와 마찬가지로, hm<α+β+hk+2hw이면, 분모, 분자 모두를 m으로 나눔에 따라, 시프트되는 비트 수를 α+β+hk+2hw-hm 비트로 감소시키는 것이 가능해진다. 이와 같이, wd가 2의 hw승이면, w=0인 경우의 처리와 w≠0인 경우의 처리는 본질적으로 동일하다. 이하 본 명세서에서는, 수식이 다소 복잡해지지만, w≠0의 경우에 대해 검토를 행한다. w=0인 경우의 계산 결과를 구하기 위해서는, wn=0, wd=1, hw=0을 대입하면 된다.

    송신측과 수신측에서 동일한 글로벌 이동 보상 예측 화상을 얻기 위해서는, 대표점의 이동 벡터에 관한 정보를 어떠한 형태로 수신측으로 전할 필요가 있다. 대표점의 이동 벡터 그대로 전송하는 방법도 있지만, 화상의 코너에 위치한 점의 이동 벡터를 전송하고, 이 값으로부터 대표점의 이동 벡터를 계산하는 방법도 있다. 이 방법에 대해, 이하에 설명한다.

    화상의 코너에 위치한 4개의 점 (-c, -c), (rc, -c), (-c, sc), (rc, sc)의 이동 벡터가 1/n 정수배의 값만을 취할 수 있다고 하여 (n은 양의 정수, c=cn/cd, cn은 음이 아닌 정수, cd는 양의 정수, cn<cd), 이들 수평·수직 성분을 n배한 (u00, v00), (u01, v01), (u02, v02), (u03, v03)이 글로벌 이동 파라메터로서 전송된다고 한다. c는 화상의 코너에 위치한 점과 대표점 사이의 위상의 편차를 나타내고 있다. 이 c의 전형적인 값으로는 0, 1/2, 1/4 등을 들 수 있다. 이 때, 점(i, j), (i+p, j), (i, j+q), (i+p, j+q) 각각의 이동 벡터의 수평·수직 성분을 k배한 것인 (u0, v0), (u1, v1), (u2, v2), (u3, v3)을,

    라고 정의한다. 단, u' (x, y), v' (x, y)는, 수학식 5를 변형하여,

    라고 정의한다. 이 때, 「///」는 통상의 제산에 의한 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산으로, 연산자로서의 우선 순위는 승·제산과 동등하다. 이렇게 해서 (u0, v0), (u1, v1), (u2, v2), (u3, v3)을 계산하고, (i, j), (i+p, j), (i, j+q), (i+p, j+q)를 대표점으로 하는 글로벌 이동 보상을 행하면, (-c, -c), (rc, -c), (-c, sc), (rc, sc)를 대표점으로 하는 글로벌 이동 보상을 근사할 수 있다. 이 때, 상술한 바와 같이 p와 q를 2의 음이 아닌 정수승으로 하면, 처리를 단순화하는 것이 가능해진다. 일반적으로, 수학식 5에 나타낸 바와 같은 계산에 따라 화상 내의 화소의 이동 벡터를 구할 때에는, 외부 삽입의 처리를 행하지 않도록 하는 것이 바람직하다. 이것은, 외부 삽입 처리에 따라 대표점의 이동 벡터의 양자화 오차를 증폭시키지 않도록 하기 위해서이다. 상기 이유로부터, 대표점은 화상 내의 화소를 전부 둘러싸는 형태로 배치하는 것이 바람직하다. 따라서, i=j=c=0인 경우 등은 p와 q는 r과 s와 거의 동일하던지, 약간 큰 값으로 하는 것이 적당하다. 그러나, p와 q의 값을 너무 크게 하면 연산에 필요한 비트 수가 증가하므로 주의가 필요하다.

    수학식 9, 수학식 10의 처리에 있어서 연산 오차를 작게 하기 위해서는, 「///」은 비정수치를 가장 가까운 정수로 반올림하는 것이 바람직하다. 이 때, 정수에 1/2를 더한 값의 반올림 방법으로는, 상술한 (1)∼(4) 방법을 생각할 수 있다. 단, 수학식 5 (화소마다의 계산)의 경우와 비교하여, 수학식 14 (1매의 화상에서 4회만 계산)는 연산이 실행되는 횟수가 적기 때문에, 수학식 1 또는 2의 방법을 선택했다고 해도 전체의 연산량에 큰 영향은 끼치지 않는다.

    상기 예와 같이, p와 q의 값이 2의 음이 아닌 정수승이 되도록 하면, 글로벌 이동 보상에 있어서의 프레임간 예측 화상의 합성 처리는 대폭 단순화할 수 있다. 그러나, 여기서 다른 하나의 문제가 발생한다. 예를 들면, 화상 부호화에서의 전형적인 파라메터로서 p=512, q=512, k=32, m=16, wd=2, wn=1 (w=0.5)인 경우를 생각하면, α+β+hk+2hw-hm=21이 된다. 이것은, u(x+w, y+w)가 2진수로 12비트 이상을 필요로 하는 값인 경우에는, 수학식 8의 연산을 고속으로 실행하기 위해 33비트 이상의 레지스터가 필요해지는 것을 뜻한다. m=16인 경우 등에는, u(x+w, y+w)는 실제의 이동 벡터의 수평 성분에 16을 곱한 값이 되기 때문에, 이것이 2진수로 12비트 이상 필요한 값이 되는 경우는 충분히 있을 수 있다. 그러나, 그 한편에서는, 33비트 이상의 정수를 저장할 수 있는 레지스터를 갖는 프로세서는 현 시점에서는 적고, 장래에도 고가가 될 것이 예상된다. 또한, 일반적으로 프로세서의 회로 규모가 커지면 그만큼 소비 전력도 많아지기 때문에, 큰 레지스터를 요구하는 알고리즘은 소비 전력의 관점에서도 불리하게 된다. 따라서, 제산을 시프트 연산으로 치환할 수 있던 경우라도, 시프트되는 비트 수는 가능한 한 적은 것이 바람직하다.

    이 문제를 해결하기 위해 본 발명에서는, 이하에 설명하는 2단계의 처리에 의한 알고리즘을 취한다. (i, j), (i+p, j), (i, j+q), (i+p, j+q)에 위치하는 대표점의 이동 벡터를 이용하여 (x+w, y+w)에 위치하는 화소의 이동 벡터를 계산하기 전에, 우선 (i, y+w)와 (i+p, y+w)에 존재하는 가대표점의 이동 벡터를, 수평·수직 성분이 1/z의 정수배 (z는 양의 정수)가 되도록 구한다. 상기 예와 마찬가지로 대표점 (i, j), (i+p, j), (i, j+q), (i+p, j+q)의 이동 벡터의 수평·수직 성분을 k배한 것을 각각 (u0, v0), (u1, v1), (u2, v2), (u3, v3)으로 한다 (u0, v0, u1, v1, u2, v2, u3, v3는 정수). 이 때, (i, y+w)와 (i+p, y+w)에 가대표점을 배치하고, 이들의 가대표점의 이동 벡터의 수평·수직 성분을 z배한 것인 (uL(y+w), vL(y+w))와 (uR(y+w), vR(y+w))를 이하와 같이 정의한다.

    이 때, 「////」는 통상의 제산에 따른 연산 결과가 정수가 아닌 경우에 이것을 가장 가까운 정수로 반올림하는 제산으로, 연산자로서의 우선 순위는 승·제산과 동등한 (이 「////」에는, 위에서 설명한 「///」와 동일한 기능이 요구됨). (i, y+w)는 (i, j)와 (i, j+q)를 연결한 선 상에 존재하기 때문에, (uL(y+w), vL(y+w))는, (u0, v0)과 (u2, v2)를 이용한 1차원의 선형 내·외부 삽입으로 용이하게 구할 수 있다. 또한, 마찬가지로 (i+p, y+w)는 (i+p, j)와 (i+p, j+q)를 연결한 선 상에 존재하기 때문에, 동일하게 1차원의 선형 내·외부 삽입으로 구할 수 있다.

    이러한 방식으로 구한 가대표점의 이동 벡터 (uL(y+w), vL(y+w))와 (uR(y+w), vR(y+w))에 대해 다른 1차원의 선형 내·외부 삽입을 행함에 따라, (x+w, y+w)에 존재하는 화소의 이동 벡터의 수평·수직 성분을 m배한 것 (u(x+w, y+w), v(x+w, y+w))를 구한다. 이 처리는, 수학식 12에 따라 행해진다.

    여기서도 위와 같이 p를 2의 α승, m을 2의 hm승, z를 2의 hz승, wd를 2의 hw승 (α, hm, hz, wd는 음이 아닌 정수)이라고 하면, 수학식 12에서의 p·z·wd에 의한 제산은, α+hz+hw-hm 비트의 우측 시프트 (단, hm<α+hz+hw인 경우)로 치환할 수 있다. 또한, z=16 (hz=4)으로 한 후, 상술한 전형적인 파라메터 p=512, q=512, k=32, m=16, wd=2, wn=1 (w=0.5)를 사용한 경우, 시프트되는 비트 수는 10비트가 되고, 연산으로 이용하는 레지스터에 필요한 비트 수를 대폭 억제하는 것이 가능해진다. 또, 상기 예에서는, 우선 대표점의 이동 벡터에 대해 수직 방향의 1차원 선형 내·외부 삽입을 행하여 가대표점의 이동 벡터를 구하고, 이 가대표점의 이동 벡터에 대해 수평 방향의 1차원 선형 내·외부 삽입을 행하여 화소의 이동 벡터를 구하고 있다. 이와는 반대로, 가대표점의 이동 벡터를 구할 때에는 수평 방향, 화소의 이동 벡터를 구할 때에는 수직 방향의 1차원 선형 내·외부 삽입을 행해도 동일한 기능을 실현할 수 있다.

    이 방식으로는, 화소의 이동 벡터를 구할 때에 수학식 11과 수학식 12의 2단계의 처리가 필요해지기 때문에, 일견 연산량이 많아지는 것으로 생각된다. 그러나, 일단 가대표점의 이동 벡터를 구하면, 이것이 수직 좌표 y+w에 존재하는 라인 상의 r개의 화소 전부에 대해 사용할 수 있기 때문에, 전체의 처리량 중에 차지하는 수학식 11의 처리량은 매우 적게 된다. 따라서, 시프트되는 비트 수의 삭감에 의해 얻을 수 있는 이익 (=보다 작은 레지스터의 활용)의 영향이, 수학식 11의 계산을 실행하는 만큼의 연산량의 증가에 따른 악영향보다 커진다.

    상기 처리에 따라 (u(x+w, y+w), v(x+w, y+w))의 값을 얻을 수 있는 후에는, 이하의 처리에 따라 (u(x+w, y+w), v(x+w, y+w))를 정수부 (uI(x+w, y+w), vI(x+w, y+w))와 소수부 (uF(x+w, y+w), vF(x+w, y+w))로 나눌 수 있다.

    단, uI(x+w, y+w)와 vI(x+w, y+w)는 정수이고, 화소의 이동 벡터의 정수부를 나타낸다. 한편, uF(x+w, y+w)와 vF(x+w, y+w)는 각각 0 이상 m 미만의 값을 갖는 정수이고, 화소의 이동 벡터의 소수부를 m배한 것이다. 또, 상기 예와 마찬가지로 m은 2의 hm승이고 (hm은 음이 아닌 정수), L과 M은 시프트되는 값을 음의 값이 아닌 충분히 큰 정수이다.

    휘도치의 내부 삽입 방식으로서 쌍1차 내부 삽입이 이용되는 경우도, 이하의 처리에 따라 프레임간 예측 화상 내의 화소의 휘도치를 구할 수 있다. x'=x+w+uI(x+w, y+w), y'= y+w+vI(x+w, y+w)로서, 참조 화상의 (x', y' ), (x'+1, y' ), (x', y'+1), (x'+1, y'+1)에 위치하는 화소의 휘도치를 각각 Ya, Yb, Yc, Yd라고 하면, 프레임간 예측 화상에 있어서 (x+v, y+w)에 위치하는 화소의 휘도치 Y(x+w, y+w)는,

    에 의해 구할 수 있다. 단, uF, vF는 각각 uF(x+w, y+w), vF(x+w, y+w)의 약기이다.

    수학식 12와 수학식 13에서는 각각 α+hz+hw-hm 비트와 hm 비트의 우측 시프트가 행해진다. 이것은, 수학식 10의 계산 시 (α+hz+hw-hm)+hm=α+hz+hw 비트의 시프트를 행하면 한번에 uI(X+w, y+w)와 vI(x+w, y+w)를 구할 수 있는 것을 의미한다. 이 때, α+hz+hw를 8의 정수배로 하면 실장이 용이하다. 일반적으로 프로세서의 레지스터는 8비트 단위의 크기를 갖고 있고, 8비트의 레지스터를 2개 (상위 비트의 레지스터와 하위 비트의 레지스터) 이어 16비트의 레지스터로서 사용하거나, 8비트의 레지스터를 4개, 또는 16비트의 레지스터를 2개 이어 32비트의 레지스터로서 사용할 수 있게 되는 경우가 많다. 여기서 예를 들면 16비트의 시프트 연산에 의해 uI(x+w, y+w)와 vI(x+w, y+w)의 값이 계산되는 것이면, 일부러 시프트 연산을 행할 필요는 없어진다. 즉, 시프트되기 이전의 값을 32비트의 레지스터에 저장해두고, 그 상위 16비트를 독립한 레지스터로서 사용하면, 그 16비트 레지스터에 uI(x+w, y+w) 또는 vI(x+w, y+w)의 값이 저장되게 된다.

    물론, 시프트되는 비트 수를 8의 정수배로 하는 것은, 수학식 10의 처리 뿐만 아니라 본 명세서에서 지금까지 상술한 모든 시프트 연산에 대해, 실장을 쉽게 하는 효과를 갖는다. 그러나, 특히 실행되는 횟수가 많은 시프트 연산 (예를 들면 화소마다 실행되는 시프트 연산)에 대해 실장을 용이하게 하는 것은 중요하다. 또한, 시프트되는 비트 수가 8의 정수배가 아닌 경우라도, 분모와 분자에 사전에 동일한 비트 수만의 좌측 시프트를 더해 둠에 따라, 제산에 의한 우측 시프트를 늘리는 것은 가능하다. 예를 들면, 6비트의 우측 시프트에 의해 실현되는 연산이 있는 경우, 시프트되는 수치에 미리 4를 곱해 둠에 따라 이것은 2비트의 좌측 시프트를 행하는 것에 해당하며, 동일한 연산을 8비트의 우측 시프트로서 실현하는 것이 가능해지는 수학식 5의 u(x+w, y+w)에 관한 식을 예로 들면, 미리 u0, u1, u2, u3을 4배로 해 둠에 따라, 이 처리를 실현하는 것이 가능해진다. 단, 이러한 처리를 행할 때에는, 시프트되는 수에 대해 오버 플로우가 발생하지 않도록 주의할 필요가 있다.

    화상 부호화 장치 및 화상 복호화 장치에는, 복수의 화상 사이즈에 대응할 수 있도록 되는 경우가 많다. 이 경우, 예를 들면 수학식 12, 13, 14를 이용한 글로벌 이동 보상을 실행했을 때에는, 화상 사이즈의 변화에 따라 시프트되는 비트 수가 변화하는 현상이 일어나고, 시프트되는 비트 수를 8의 정수배로 고정해 둘 수 없게 된다. 이러한 경우, 다음 상술한 바와 같은 대처법이 있다. 예를 들면, 상기 예와 같이 uI(x+w, y+w)와 vI(x+w, y+w)를 구하기 위해 α+hz+hw 비트의 우측 시프트가 필요하고, α가 7∼11의 값을 취할 수 있는 경우를 생각한다. 이 때, α가 10보다 작을 때는 hz=5, hw=1, α=11일 때에는 hz=4, hw=1로 하면, 시프트되는 비트 수를 항상 16 이하로 할 수 있다. 상술한 바와 같이, 시프트되는 비트 수가 16보다 작은 경우에는, 미리 시프트되는 수에 상수를 곱함에 따라, 시프트되는 비트 수를 의사적으로 16비트로 하는 것이 가능하다. 이와 같이, 화상 사이즈가 변화했을 때 다른 파라메터 (예를 들면, 이동 벡터의 양자화 스텝 사이즈)도 이것에 맞춰 변화시킴으로써, 시프트되는 비트 수가 형편이 좋은 값이 되도록 제어할 수 있다. 그러나, 상기 방법을 사용하는 경우에는, 복호 화상의 화질에 현저한 열화를 생기게 할수록, 이동 벡터의 양자화 스텝 사이즈를 크게 하지 않도록 주의할 필요가 있다.

    일반적인 글로벌 이동 보상에 본 명세서에서 나타낸 알고리즘을 적용한 경우에는, 우선 1/n 화소 정밀도의 화상의 코너에 위치한 점의 이동 벡터를 이용하여 대표점의 이동 벡터를 1/k 화소 정밀도로 구하고, 계속해서 대표점의 이동 벡터를 이용하여 가대표점의 이동 벡터를 1/z 화소 정밀도로 구한 후, 이 가대표점의 이동 벡터를 이용하여 화소의 이동 벡터가 1/m 화소 정밀도로 구할 수 있다. 화상의 코너에 위치한 점의 이동 벡터가 이동 파라메터로서 전송되는 경우에는, 이 파라메터에 의한 쌍1차 내·외부 삽입을 정확히 근사한다는 의미에서, k를 가능한 한 큰 값으로 하는 것이 바람직하다. 그러나, 어쨌든 대표점의 이동 벡터의 수평·수직 성분에는 양자화의 영향으로 1/(2k) 이하의 절대치를 갖는 오차가 포함되게 이루어진다. 근사를 정확하게 하는 의미에서, 가대표점의 이동 벡터도 되도록이면 정밀도를 높히는 것이 바람직하다. 그러나, 가대표점의 이동 벡터는 대표점의 이동 벡터를 이용하여 구할 수 있기 때문에, 대표점의 이동 벡터 이상의 정밀도를 갖게 하여 계산해도 그다지 의미가 없다. 따라서, 연산에 필요한 비트 수를 억제하는 의미로 z≤k로 하는 것이 바람직하다. 또한, 동일한 이유에 따라, m≤z로 하는 것이 바람직하다.

    지금까지 쌍1차 내·외부 삽입을 이용한 글로벌 이동 보상에 대해 설명했지만, 선형 내·외부 삽입을 이용한 경우도 동일한 처리를 도입함에 따라, 시프트되는 비트 수를 제어할 수 있다. 예를 들면, (i, j), (i+p, j), (i, j+q)에 존재하는 (i, j, p, q는 정수) 대표점의 이동 벡터의 수평·수직 성분을 k배한 것을 각각 (u0, v0), (u1, v1), (u2, v2)로 한다 (u0, v0, u1, v1, u2, v2는 정수). 이 때, 화소(x+w, y+w)의 이동 벡터의 수평·수직 성분을 m배한 것 (u(x+w, y+w), (x+w, y+w))은 수학식 16으로 나타낼 수 있다 (단, x, u(x+w, y+w), v(x+w, y+w)는 정수, w의 정의는 상기한 바와 동일함).

    이 경우도 p, q, k, m, wd가 각각 2의 α승, β승, hk승, hm승, hw승이고 (α, β, hk, hm, hw는 음이 아닌 정수)이고, α≥β라고 하면, 이 식은

    라고 재기록할 수 있고, 쌍1차 내·외부 삽입을 이용한 경우와 마찬가지로, α+hk+hw 비트의 우측 시프트에 의해 (x+w, y+w)에 존재하는 화소의 이동 벡터의 정수부를 구할 수 있다. 따라서, α+hk+hw가 8의 정수배가 되도록 하면, 상기 이유에 따라 실장하기 용이하게 할 수 있다. 또, α<β인 경우, 시프트되는 비트 수는 β+hk+hw 비트가 된다.

    이하, 상기 프레임간 예측 화상의 합성 처리를 채용하는 본 발명의 부호화 방법 및 복호화 방법을 실시하는 화상 부호화 장치, 복호화 장치의 구성에 대해 설명하겠다.

    도 6은, 본 발명에 따른 화상 부호화 장치(600)의 제1 실시예의 구성을 도시한다. 이 도면에 있어서, 이동 보상 처리부(616)를 제외하고는, 종래 알려져 있는 화상 부호화 장치와 실질적으로 동일하다.

    제산기(602)는 입력 화상 (부호화하고자 하는 현 프레임의 원화상 : 601)과 프레임간/프레임내 부호화 전환 스위치(619)의 출력 화상(613) (프레임간 예측 화상)과의 차를 계산하고, 오차 화상(603)을 출력한다. 이 오차 화상은, DCT 변환기(604)로 DCT 계수로 변환된 후 양자화기(605)로 양자화되고, 양자화 DCT 계수(606)가 된다. 이 양자화 DCT 계수는 전송 정보로서 통신로에 출력됨과 동시에, 부호화기 내에서도 프레임간 예측 화상을 합성하기 위해 사용된다.

    이하 프레임 예측 화상 합성의 순서를 설명한다. 양자화 DCT 계수(606)는, 역양자화기(608)와 역 DCT 변환기(609)를 거쳐 복호 오차 화상(610) (수신측에서 재생되는 오차 화상과 동일한 화상)이 된다. 이에, 가산기(611)에 있어서 프레임간/프레임내 부호화 전환 스위치(619)의 출력 화상(613)(후술)이 더해지고, 현 프레임의 복호 화상(612) (수신측에서 재생되는 현 프레임의 복호 화상과 동일한 화상)을 얻는다. 이 화상은 일단 프레임 메모리(614)에 축적되고, 1 프레임의 시간만큼 지연된다. 따라서, 현 시점에서는, 프레임 메모리(614)는 이전 프레임의 복호 화상(615)을 출력하고 있다. 이전 프레임의 복호 화상과 현 프레임의 입력 화상(601)이 이동 보상 처리부(616)에 입력된다. 이동 보상 처리부(616)는 상술한 프레임간 예측 화상의 합성을 행한다. 그 구성에 대해서는 후술할 것이다.

    예측 화상(617)은, 「0」신호(618)와 함께 프레임간/프레임내 부호화 전환 스위치(619)에 입력된다. 이 스위치는, 양 입력 중 어느 하나를 선택함에 따라, 프레임간 부호화와 프레임내 부호화를 전환한다. 예측 화상(617)이 선택된 경우 (도 6은 이 경우를 나타내고 있음)에는, 프레임간 부호화가 행해진다. 한편, 「0」 신호가 선택된 경우에는, 입력 화상이 그대로 DCT 부호화되어 통신로에 출력되기 때문에 프레임내 부호화가 행해진다. 수신측이 정확하게 복호화 화상을 얻기 위해서는, 송신측에서 프레임간 부호화가 행해졌는지 프레임내 부호화가 행해졌는지를 알 필요가 있다. 이 때문에, 식별 플래그(621)가 통신로로 출력된다. 최종적인 H.261 부호화 비트 스트림(623)은 다중화기(622)로 양자화 DCT 계수, 이동 벡터, 프레임내/프레임간 식별 플래그의 정보를 다중화함으로써 얻을 수 있다.

    도 7은 도 6의 부호화기가 출력한 부호화 비트 스트림을 수신하는 복호화기(700)의 구성예를 도시한다. 수신한 비트 스트림(717)은, 분리기(716)로 양자화 DCT 계수(701), 이동 벡터(702), 프레임내/프레임간 식별 플래그(703)로 분리된다. 양자화 DCT 계수(701)는 역양자화기(704)와 역 DCT 변환기(705)를 거쳐 복호화된 오차 화상(706)이 된다. 이 오차 화상은 가산기(707)로 프레임간/프레임내 부호화 전환 스위치(714)의 출력 화상(715)을 가산하고, 복호화 화상(708)으로서 출력된다. 프레임간/프레임내 부호화 전환 스위치는 프레임간/프레임내 부호화 식별 플래그(703)를 따라 출력을 전환한다. 프레임간 부호화를 행하는 경우에 이용하는 예측 화상(712)은 예측 화상 합성부(711)에 있어서 합성된다. 여기서는, 프레임 메모리(709)에 축적되어 있는 이전 프레임의 복호 화상(710)에 대해, 수신한 이동 벡터(702)에 따라 위치를 이동시키는 처리가 행해진다. 한편 프레임내 부호화의 경우, 프레임간/프레임내 부호화 전환 스위치는 「0」 신호(713)를 그대로 출력한다.

    도 8은 대표점의 이동 벡터를 전송하는 선형 내·외부 삽입에 기초하는 글로벌 이동 보상 방식을 채용한 화상 부호화기의 이동 보상 처리부(616)의 구성예를 도시한다. 도 6과 동일한 번호는 동일물을 가리킨다. 글로벌 이동 추정부(802)에서 이전 프레임의 복호 화상(615)과 현 프레임의 원화상(601) 사이에서 글로벌 이동 보상에 따른 이동 추정이 행해지고, 글로벌 이동 보상의 파라메터 (예를 들면, 상기 ua, va, ub, vb, uc, vc, ud, vd의 값)가 추정된다. 이들 값에 따른 정보(803)는 이동 정보(620)의 일부로서 전송된다. 글로벌 이동 보상의 예측 화상(804)은 수학식 3을 이용하여 글로벌 이동 보상 예측 화상 합성부(808)로 합성되고, 블럭 매칭부(805)로 공급된다. 여기서는, 글로벌 이동 보상의 예측 화상과 현 프레임의 원화상 간에 블럭 매칭부에 의한 이동 보상 (이동 추정과 예측 화상 합성)이 행해지고, 블럭의 이동 벡터 정보(806)와 최종적인 예측 화상(617)을 얻을 수 있다. 이 이동 벡터 정보는 이동 파라메터 정보와 다중화부(807)에 있어서 다중화되고, 이동 정보(620)로서 출력된다.

    도 10은 도 7의 예측 화상 합성부(711)의 구성예를 도시한다. 다른 도면과 동일한 번호는 동일물을 가리킨다. 이전 프레임의 복호 화상(710)에 대해, 이동 정보(702)로부터 분할부(1002)에서 추출된 글로벌 이동 보수 파라메터(803)를 이용하여, 글로벌 이동 보상 예측 화상 합성부(803)에서 글로벌 이동 보상의 예측 화상(804)이 합성된다. 화상(804)은 블럭 매칭 예측 화상 합성부(1001)로 공급되고, 이동 정보(702)로부터 추출된 블럭 매칭의 이동 벡터 정보(806)를 이용하여 최종적인 예측 화상(712)이 합성된다.

    도 9는 이동 보상 처리부(616)의 다른 구성예를 도시한다. 도 6과 동일한 번호는 동일물을 가리킨다. 이 예에서는, 각 블럭에 대해 글로벌 이동 보상이나 블럭 매칭 중 어느 하나가 적용된다. 이전 프레임의 복호 화상(615)과 현 프레임의 원화상(601) 사이에서, 글로벌 이동 추정부(902), 글로벌 이동 보상 예측 화상 합성부(911)에서는 글로벌 이동 보상에 의해, 블럭 매칭부(905)에서는 블럭 매칭에 의해, 각각 독립적으로 이동 보상의 처리가 행해진다. 선택 스위치(908)는, 글로벌 이동 보상에 의한 예측 화상(903)과 블럭 매칭에 의한 예측 화상(906) 사이에서 블럭마다 알맞은 방식을 선택한다. 글로벌 이동 보상 파라메터(904), 블럭마다의 이동 벡터(907), 글로벌 이동 보상/블럭 매칭의 선택 정보(909)는 다중화부(910)에서 다중화되고, 이동 정보(620)로서 출력된다.

    도 11은 이동 보상 처리부(616)를 이용하는 화상 부호화기가 생성하는 비트 스트림을 복호화하는 복호화기의 예측 화상 합성부(1103)의 구성예를 도시한다. 다른 도면과 동일한 번호는 동일물을 가리킨다. 이전 프레임의 복호 화상(710)에 대해, 이동 정보(702)로부터 분할부(1102)에 있어서 추출된 글로벌 이동 보상 파라메터(904)를 이용하여, 글로벌 이동 보상 예측 화상 합성부(911)에서 글로벌 이동 보상의 예측 화상(903)이 합성된다. 또한, 이와는 독립적으로 이전 프레임의 복호 화상(710)에 대해, 이동 정보(702)로부터 추출된 블럭 매칭의 이동 벡터 정보(907)를 이용하여 블럭 매칭 예측 화상 합성부(1101)에서 블럭 매칭의 예측 화상(906)이 합성된다. 선택 스위치(908)는, 글로벌 이동 보상에 의한 예측 화상(903)과 블럭 매칭에 의한 예측 화상(906) 사이에서, 이동 정보(702)로부터 추출된 선택 정보(909)에 기초하여, 블럭마다 어느 한 방식을 선택한다. 이러한 블럭마다의 선택 처리를 거쳐, 최종적인 예측 화상(712)이 합성된다.

    도 12는 상술한 본 발명에 따른 글로벌 이동 보상 예측 화상 합성부(1201)의 기능적 구성을 도시한다. 글로벌 이동 보상 파라메터로서, 화상의 코너에 위치한 점의 이동 벡터가 전송된다고 한다. 이 화상의 코너에 위치한 점의 이동 벡터에 관한 정보(1204)를 이용하여 연산 처리부(1205)에 있어서 수학식 9, 10을 이용하여 대표점의 이동 벡터가 계산된다. 이 대표점의 이동 벡터에 관한 정보(1206)를 이용하여, 연산 처리부(1207)에서는 수학식 11을 이용하여 라인 (수직 좌표가 공통의 값인 화소)마다 가대표점의 이동 벡터가 계산된다. 또한, 이 가대표점의 이동 벡터에 관한 정보(1208)를 활용하여 연산 처리부(1209)에서는 화소마다의 이동 벡터가 수학식 12에 의해 계산된다. 한편, 처리부(1211)에서는, 이 화소마다의 이동 벡터에 관한 정보(1210)와, 이전 프레임의 복호 화상(1202)을 이용하여 글로벌 이동 보상의 예측 화상(1203)이 합성, 출력된다.

    본 발명은, 전용 회로·전용 칩을 이용하는 화상 부호화 장치, 화상 복호화 장치 외에, 범용 프로세서를 이용하는 소프트웨어 화상 부호화 장치, 소프트웨어 화상 복호화 장치에도 적용할 수 있다.

    도 4 및 도 5는, 각각 소프트웨어 화상 부호화 장치(400)와 소프트웨어 화상 복호화 장치(500)의 일례를 도시한다. 소프트웨어 부호화 장치(400)에서는, 입력 화상(401)은, 입력 프레임 메모리(402)에 축적되고, 범용 프로세서(403)는 입력 프레임 메모리(402)로부터 정보를 판독하여 부호화의 처리를 행한다. 범용 프로세서(403)를 구동하기 위한 프로그램은 하드디스크나 플로피 디스크등에 의한 축적 디바이스(408)로부터 판독되어 프로그램용 메모리(404)에 축적된다. 또한, 범용 프로세서(403)는, 처리용 메모리(405)를 활용하여 부호화의 처리를 행한다. 범용 프로세서(403)가 출력하는 부호화 정보는, 일단 출력 버퍼(406)에 축적된 후 부호화 비트 스트림(407)으로서 출력된다.

    도 13은 도 4에 도시된 소프트웨어 부호화기 상에서 동작하는 부호화 소프트웨어의 흐름도를 도시한다. 우선 단계 1301에서 화상 부호화 처리가 시작되고, 단계 1302에서 변수 N에 0이 대입된다. 계속해서 단계 1303, 단계 1304에서 N의 값이 100인 경우에는, 0이 대입된다. N은 프레임 수의 카운터이고, 1매의 프레임의 처리가 종료할 때마다 1이 가산되고, 부호화를 행할 때에는 0∼99의 값을 취하는 것이 허용된다. N의 값이 0일 때에는 부호화 내의 프레임은 I 프레임 (이동 보상은 행하지 않고, 모든 블럭에서 프레임내 부호화가 행해지는 프레임)이고, 그 외의 경우에는 P 프레임 (이동 보상을 행하는 블럭의 존재하는 프레임)이 된다. N의 값이 100인 것은, P 프레임이 99매 부호화된 후 I 프레임이 1매 부호화되는 것을 뜻하고 있다. N이 알맞은 값은 부호화기의 성능이나 부호화기가 사용되는 환경에 따라 변화한다. 이 예에서는 100이라는 값을 사용했지만, 이것은 N의 값이 반드시 100이어야 하는 것을 뜻하는 것은 아니다. 프레임 타입 (I 또는 P)의 결정과 출력은 단계 1305에서 행해진다. N의 값이 0인 경우에는 프레임 타입의 식별 정보로서 'I'가 출력 버퍼에 출력되고, 이제부터 부호화 처리를 행하는 프레임은 I 프레임이 된다. 또, 여기서 「출력 버퍼에 출력됨」은, 출력 버퍼(도 4의 406)에 축적된 후 부호화 비트 스트림의 일부로서 부호화 장치로부터 외부로 출력된다. N이 0이 아닌 경우에는, 프레임 타입의 식별 정보로서 'P'가 출력 버퍼에 출력되고, 이제부터 부호화 처리를 행하는 프레임은 P 프레임이 된다. 단계 1306에서는 입력 화상은 프레임 메모리 A에 축적된다. 또, 여기서 상술한 프레임 메모리 A는, 소프트웨어 부호화기의 메모리 영역 (예를 들면, 도 4의 메모리(405) 내에 이 메모리 영역이 확보됨)의 일부를 뜻하고 있다. 단계 1307에서는, 현재 부호화 내의 프레임이 I 프레임인지의 여부가 판정된다. 그리고, I 프레임이 아닌 경우에는 단계 1308에서 이동 추정·이동 보상 처리가 행해진다. 이 단계 1308에 있어서의 처리의 상세한 내용의 일례를 나타내는 흐름도를 도 14에 도시한다. 우선, 단계 1401에서 프레임 메모리 A와 B (프레임 메모리 B에는 이전 프레임의 복호 화상이 저장되어 있음)에 축적된 화상 사이에서 글로벌 이동 추정이 행해지고, 글로벌 이동 파라메터로서, 화상의 코너에 위치한 점의 이동 벡터가 출력 버퍼에 출력된다. 단계 1402에서는, 이 화상의 코너에 위치한 점의 이동 벡터를 이용하여 수학식 9, 10에 의해 대표점의 이동 벡터가 계산된다. 계속해서 단계 1403에서는, 변수 M에 0이 대입된다. M은 화상 내의 라인의 번호를 나타내고, M이 0인 것은, 화상의 가장 위의 라인을 처리 중인 것을 의미하고, M이 화상의 라인 수로부터 1을 뺀 값일 때에는, 화상의 가장 하측 라인을 처리 중에 있는 것을 의미한다. 단계 1402에서 계산된 대표점의 이동 벡터를 이용하여, 단계 1404에서는 수학식 11에 의해 제M 라인의 가대표점의 이동 벡터가 계산된다. 그리고 이 가대표점의 이동 벡터를 활용하여 단계 1405에서는 제M 라인에 포함되는 화소 모든 이동 벡터가 수학식 12에 의해 계산되고, 구한 이동 벡터에 따라, 프레임 메모리 B에 저장되어 있는 이전 프레임의 복호 화상을 이용하여 글로벌 이동 보상 예측 화상의 제M 라인이 합성되고, 프레임 메모리 F에 축적된다. 단계 1406에서는 M의 값에 1이 더해지고, 단계 1407에서는 M의 값이 화상의 라인 수와 같으면 단계 1408로, 동일하지 않으면 단계 1404로 이동한다. 단계 1408의 처리가 시작되는 시점에서는, 프레임 메모리 D에는, 글로벌 이동 보상에 의한 예측 화상이 축적되어 있다. 단계 1408 이후에는, 블럭 매칭의 처리가 행해진다. 우선 단계 1408에서는, 프레임 메모리 F와 프레임 메모리 A (입력 화상) 사이에서 블럭마다 이동 추정의 처리가 행해지고, 각 블럭의 이동 벡터를 구할 수 있고, 그 이동 벡터는 출력 버퍼에 출력된다. 계속해서 이 이동 벡터와, 프레임 메모리 F에 축적된 화상을 이용하여 단계 1409에서는 블럭 매칭에 의한 예측 화상이 합성되고, 이것이 최종적인 예측 화상이 되어 프레임 메모리 C에 축적된다. 그리고 단계 1410에서는 프레임 메모리 A와 C의 차분 화상을 구할 수 있고, 이것이 프레임 메모리 A에 축적된다.

    여기서 도 13으로 복귀한다. 단계 1308에 있어서의 처리가 시작되기 직전, 프레임 메모리 A에는, 현 프레임이 I 프레임인 경우에는 입력 화상이, 현 프레임이 P 프레임인 경우에는 입력 화상과 예측 화상의 차분 화상이 축적되어 있다. 단계 1309에서는, 이 프레임 메모리 A에 축적된 화상에 대해 DCT가 적용되고, 여기서 계산된 DCT 계수는 양자화된 후 출력 버퍼에 출력된다. 또한 단계 1310에서, 이 양자화 DCT 계수에는 역양자화되고, 역 DCT가 적용되고, 그 결과 얻을 수 있는 화상은 프레임 메모리 B에 저장된다. 계속해서 단계 1311에서는, 다시 현 프레임이 I 프레임인지의 여부가 판정되고, I 프레임이 아닌 경우에는 단계 1312에서 프레임 메모리 B와 C의 화상이 가산되고, 그 결과가 프레임 메모리 B에 저장된다. 여기서, 1프레임분의 부호화 처리가 종료하게 된다. 그리고, 단계 1313의 처리가 행해지기 직전에 프레임 메모리 B에 저장되어 있는 화상은, 부호화 처리가 막 종료한 프레임의 재생 화상 (복호측에서 얻어지는 것과 동일함)이다. 단계 1313에서는, 부호화가 종료한 프레임이 최후의 프레임인지의 여부가 판정되고, 최후의 프레임이면, 단계 1315에서 부호화 처리가 종료한다. 최후의 프레임이 아닌 경우에는, 단계 1314에서 N에 1이 가산되고, 다시 단계 1303으로 복귀되어 다음 프레임의 부호화 처리가 시작된다. 또, 여기서 설명한 흐름도는 글로벌 이동 보상을 행한 결과 합성된 글로벌 이동 보상 예측 화상에 대해 블럭 매칭을 적용하는 방법 (도 8의 이동 보상 처리부(801)를 사용하는 장치에 대응하는 방법)에 관한 것이지만, 글로벌 이동 보상과 블럭 매칭을 병렬로 행하는 방법 (도 9의 이동 보상 처리부(901)를 사용하는 장치에 대응하는 방법)에 관한 흐름도도 약간의 변경만을 가하는 것으로 작성할 수 있는 것은 분명하다.

    한편, 소프트웨어 복호화 장치(500)에서는, 입력된 부호화 비트 스트림(501)은, 일단 입력 버퍼(502)에 축적된 후, 범용 프로세서(503)에 판독된다. 범용 프로세서(503)는 하드디스크나 플로피 디스크등에 의한 축적 디바이스(508)로부터 판독된 프로그램을 축적하는 프로그램용 메모리(504) 및 처리용 메모리(505)를 활용하여 복호화 처리를 행한다. 그 결과 얻어진 복호화 화상은, 일단 출력 프레임 메모리(506)에 축적된 후에 출력 화상(507)으로서 출력된다.

    도 15는 도 5에 도시된 소프트웨어 복호화 장치 상에서 동작하는 복호화 소프트웨어의 흐름도를 도시한다. 참조 번호 (1501)에서 처리가 시작되고, 우선 단계 1502에서 입력 정보가 있는지의 여부가 판정된다. 여기서 입력 정보가 없으면 단계 1503에서 복호화의 처리를 종료한다. 입력 정보가 있는 경우에는, 우선 단계 1504에서 프레임 타입 정보가 입력된다. 또, 이 「입력됨」은, 입력 버퍼(502)에 축적된 정보를 판독하는 것을 뜻한다. 단계 1505에서는, 판독된 프레임 타입 정보가 'I'인지의 여부가 판정된다. 그리고, 'I'가 아닌 경우에는, 단계 1506에서 예측 화상 합성 처리가 행해진다. 이 단계 1506에서 행해지는 처리의 상세한 내용의 흐름도가 도 16도에 도시되어 있다.

    우선, 단계 1601에서 화상의 코너에 위치한 점의 이동 벡터가 입력된다. 단계 1602에서는, 이 화상의 코너에 위치한 점의 이동 벡터를 이용하여 수학식 9, 10에 의해 대표점의 이동 벡터가 계산된다. 계속해서 단계 1603에서는, 변수 M에 0이 대입된다. M은 화상 내의 라인의 번호를 나타내고, M이 0인 것은, 화상의 가장 상측 라인을 처리 중에 있는 것을 의미하고, M이 화상의 라인 수로부터 1을 뺀 값일 때에는, 화상의 가장 하측 라인을 처리 중에 있는 것을 의미한다. 단계 1602에서 계산된 대표점의 이동 벡터를 이용하여, 단계 1604에서는 수학식 11에 의해 제M 라인의 가대표점의 이동 벡터가 계산된다. 그리고 이 가대표점의 이동 벡터를 활용하여 단계 1605에서는 제M 라인에 포함되는 화소 모든 이동 벡터가 수학식 12에 의해 계산되고, 구한 이동 벡터에 따라, 프레임 메모리 E에 저장되어 있는 이전 프레임의 복호 화상을 이용하여 글로벌 이동 보상 예측 화상의 제M 라인이 합성되고, 프레임 메모리 G에 축적된다. 또, 여기서 상술한 프레임 메모리 G는, 소프트웨어 복호화기의 메모리(505)의 영역의 일부를 뜻한다. 단계 1606에서는 M의 값에 1이 더해지고, 단계 1607에서는 M의 값이 화상의 라인 수와 같으면 단계 1608에, 같지 않으면 단계 1604로 이동한다. 단계 1608의 처리가 시작되는 시점에서는, 프레임 메모리 G에는, 글로벌 이동 보상에 의한 예측 화상이 축적되어 있다. 단계 1608에서는, 블럭 매칭의 처리가 행해진다. 블럭마다의 이동 벡터 정보가 입력되고, 이 이동 벡터와 프레임 메모리 G에 저장된 화상을 이용하여 블럭 매칭에 의한 예측 화상이 합성되고, 이 예측 화상은 프레임 메모리 D에 저장된다.

    여기서 도 15로 복귀한다. 단계 1507에서는 양자화 DCT 계수가 입력되고, 이것에 역양자화, 역 DCT를 적용하여 얻어진 화상이 프레임 메모리 E에 저장된다. 단계 1508에서는, 다시 현재 복호화 중의 프레임이 I 프레임인지의 여부가 판정된다. 그리고, I 프레임이 아닌 경우에는, 단계 1509에서 프레임 메모리 D와 E에 저장된 화상이 가산되고, 그 결과의 화상이 프레임 메모리 E에 저장된다. 단계 1510의 처리를 행하기 직전에 프레임 메모리 E에 저장되어 있는 화상이 재생 화상이 된다. 단계 1510에서는, 이 프레임 메모리 E에 저장된 화상이 출력 프레임 메모리(506)에 출력되고, 그대로 출력 화상으로서 복호화기로부터 출력된다. 이와 같이 함으로써 1프레임분의 복호화 처리가 종료되고, 처리는 다시 단계 1502로 복귀한다.

    도 4와 도 5에 도시된 소프트웨어 화상 부호화 장치, 소프트웨어 화상 복호화 장치에 본 명세서에서 나타낸 프레임간 예측 화상의 합성 방법을 실행하는 프로그램을 실행시키면, 글로벌 이동 보상이나 워핑 예측의 처리를 보다 적은 연산량으로 실현하는 것이 가능해진다. 이 때문에, 본 발명을 이용하지 않은 경우와 비교하여, 소비 전력의 저감, 장치의 저가격화, 보다 큰 화상의 실시간 처리, 화상 부호화·복호화 외의 처리를 포함하는 동시 병렬 처리 가능 등의 효과를 기대할 수 있다. 또한, 본 명세서에서 나타낸 알고리즘을 이용함에 따라, 종래의 화상 복호화 장치에서는 연산 능력의 한계로부터 실시간에 재생할 수 없던 압축 화상 데이타를, 실시간에 재생하는 것이 가능해진다.

    이상 본 발명의 실시예에 대해 설명했지만, 이하와 같은 실시예도 본 발명에 포함된다.

    (1) 종래 형의 화상 부호화 방법으로는, 프레임간 예측을 행한 후에 이산 코사인 변환 등에 의한 오차 부호화가 행해지지만, 프레임간 예측 화상을 그대로 재생 화상으로서 사용하는 화상 부호화 방법·복호화 방법에 대해서도, 본 발명은 유효하다.

    (2) 본 명세서에서는, 화상의 형상은 직사각형인 것을 가정했지만, 직사각형 외의 임의의 형상을 갖는 화상에도 본 발명이 적용 가능하다. 이 경우, 우선 임의형상의 화상을 둘러싼 직사각형에 대해 본 발명의 처리를 적용하고, 임의 형상 화상에 포함되는 화소에 대해서만 이동 벡터를 구하는 연산을 행하면 된다.

    (3) 본 명세서에서는, p 또는 q의 값이 2의 음이 아닌 정수승인 것을 전제로 하여 2단계의 처리에 따른 이동 벡터의 내·외부 삽입 알고리즘을 나타내었다. 그러나, p 및 q가 2의 음이 아닌 정수승이 아닌 경우라도, 이 2단계 처리 알고리즘은 제산에 있어서의 분모의 값을 작게 하는 효과를 갖고, 레지스터의 오버 플로우를 막는 의미에서 유효하다.

    도 17는 본 명세서에서 도시된 예측 화상 합성 방법을 이용하는 부호화·복호화 장치의 구체예를 도시한다. (a)는, 퍼스널 컴퓨터(1701)에 화상 부호화·복호화용의 소프트웨어를 조립함에 따라, 화상 부호화·복호화 장치로서 활용하는 경우를 나타낸다. 이 소프트웨어는 임의의 축적 미디어 (CD-ROM, 플로피 디스크, 하드 디스크 등)에 기록되어 있고, 이것을 퍼스널 컴퓨터가 판독하여 사용한다. 또한, 임의의 통신 회선에 이 퍼스널 컴퓨터를 접속하여, 영상 통신 단말로서 활용하는 것도 가능해진다.

    (b)는, 본 발명에 따른 부호화 방법에 따른 동화상 정보를 축적 미디어(1702)에 기록한 부호화 비트 스트림을 판독하고, 본 발명에 따른 장치를 구비한 재생 장치(1703)로 재생하고, 재생된 영상 신호를 텔레비전 모니터(1704)에 표시하는 경우를 나타낸다. 재생 장치(1703)는 부호화 비트 스트림을 판독할 뿐으로, 텔레비젼 모니터(1704) 내에 복호화 장치가 조립되는 경우도 있다.

    (c)는, 디지탈 방송용의 텔레비젼 수신기(1705)에 본 발명의 복호화 장치를 조립한 경우를 나타낸다. 또한, (d)는, 케이블 텔레비젼용의 케이블(1708) 또는 위성/지상파 방송의 안테나에 접속된 셋트 톱 박스(1709) 내에 복호화 장치를 실장하고, 이것을 텔레비젼 모니터(1710)로 재생하는 경우를 나타낸다. 이 때, (b)의 참조 번호 (1704)와 마찬가지로, 셋트 톱 박스가 아니라, 텔레비전 모니터 내에 부호화 장치를 조립해도 좋다.

    (e)는, 디지탈 휴대 단말(1706)에 본 발명의 부호화기, 복호화기를 조립한 경우를 나타낸다. 디지탈 휴대 단말의 경우, 부호기·복호화기를 양방 모두 구비한 송수신형의 단말 외에, 부호화기만의 송신 단말, 복호화기만의 수신 단말의 3가지의 실장 형식 중 어느 것이라도 좋다.

    (f)는, 동화상 촬영용의 카메라(1707) 내에 부호화 장치를 조립하는 경우를 나타낸다. 또한, 카메라(1707)는 영상 신호를 취득할 뿐으로, 이것을 전용의 부호화 장치(1711)에 내장하는 구성이라도 좋다. 이 도면에 도시된 모든 장치·시스템에 대해서도, 본 명세서에 나타낸 방법을 실장함으로써, 종래의 기술을 활용한 경우와 비교하여, 장치를 간략화하는 것이 가능해진다.

    高效检索全球专利

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

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

    申请试用

    分析报告

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

    申请试用

    QQ群二维码
    意见反馈