首页 / 专利库 / 视听技术与设备 / 视频编码层 / 비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치

비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치

阅读:770发布:2021-09-17

专利汇可以提供비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치专利检索,专利查询,专利分析的服务。并且본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 다 계층 구조를 갖는 비디오 프레임에서, 하위 계층의 대응 프레임이 존재하지 않는 프레임을 효율적으로 예측하는 방법 및 그 방법을 이용한 비디오 코딩 장치에 관한 것이다.
본 발명에 따른 다 계층 기반의 비디오 인코딩 방법은, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 하나의 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 단계와, 상기 모션 추정 결과 구해지는 모션 벡터 및 상기 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계와, 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계와, 상기 차분을 부호화하는 단계로 이루어진다.
모션 추정, 모션 벡터, 기초 계층, 향상 계층, 스케일러빌리티,下面是비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및장치专利的具体信息内容。

  • (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 간에 모션 추정을 수행하는 단계;
    (b) 상기 모션 추정 결과 구해지는 모션 벡터 및 상기 모션 추정에 사용된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계;
    (c) 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계; 및
    (d) 상기 차분을 부호화하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서,
    상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 (b) 단계에서 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링하는 단계를 더 포함하며, 상기 (c) 단계의 가상 기초 계층 프레임은 상기 업샘플링된 가상 기초 계층 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 앞선 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 뒤진 프레임인, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서, 상기 모션 추정은
    계층적 가변 크기 블록 정합에 의하여 이루어지는, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서, 상기 (b) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계; 및
    상기 판독된 텍스쳐 데이터를 상기 영역으로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • 제6항에 있어서, 상기 (b) 단계는
    상기 복사 결과 연결되지 않은 픽셀 영역은 상기 참조 프레임 중에서 상기 픽셀 영역에 대응되는 영역의 텍스쳐 데이터로 대치하는 단계를 더 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • 제7항에 있어서, 상기 (b) 단계는
    상기 복사 결과 다중 연결된 픽셀 영역은 해당 위치에 다중으로 복사된 복수의 텍스쳐 데이터를 평균한 값으로 대치하는 단계를 더 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서, 상기 (b) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계; 및
    상기 판독된 텍스쳐 데이터를 상기 파티션의 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • 제1항에 있어서, 상기 (d) 단계는
    상기 차분에 대하여 공간적 변환을 수행하여 변환 계수를 생성하는 단계;
    상기 생성된 변환 계수를 양자화하여 양자화 계수를 생성하는 단계; 및
    상기 생성된 양자화 계수를 무손실 부호화하는 단계를 포함하는, 다 계층 기반의 비디오 인코딩 방법.
  • (a) 하위 계층 비트스트림으로부터, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 참조 프레임을 복원하는 단계;
    (b) 상기 하위 계층 비트스트림에 포함되는 모션 벡터 및 상기 복원된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계;
    (c) 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 잔여 프레임을 복원하는 단계; 및
    (d) 상기 잔여 프레임과 상기 가상 기초 계층 프레임을 가산하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  • 제11항에 있어서,
    상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 (b) 단계에서 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링하는 단계를 더 포함하며,
    상기 (d) 단계의 가상 기초 계층 프레임은 상기 업샘플링된 가상 기초 계층 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  • 제11항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 앞선 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  • 제11항에 있어서,
    상기 참조 프레임은 상기 하위 계층 프레임들 중 시간적으로 뒤진 프레임인, 다 계층 기반의 비디오 디코딩 방법.
  • 제11항에 있어서, 상기 (b) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계; 및
    상기 판독된 텍스쳐 데이터를 상기 영역으로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  • 제11항에 있어서, 상기 (b) 단계는
    상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계; 및
    상기 판독된 텍스쳐 데이터를 상기 파티션의 위치에 복사하는 단계를 포함하는, 다 계층 기반의 비디오 디코딩 방법.
  • 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 간에 모션 추정을 수행하는 수단;
    상기 모션 추정 결과 구해지는 모션 벡터 및 상기 모션 추정에 사용된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단;
    상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 수단; 및
    상기 차분을 부호화하는 수단을 포함하는, 다 계층 기반의 비디오 인코더.
  • 하위 계층 비트스트림으로부터, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 참조 프레임을 복원하는 수단;
    상기 하위 계층 비트스트림에 포함되는 모션 벡터 및 상기 복원된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단;
    현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 잔여 프레임을 복원하는 수단; 및
    상기 잔여 프레임과 상기 가상 기초 계층 프레임을 가산하는 수단을 포함하 는, 다 계층 기반의 비디오 디코더.
  • 제1항 내지 제16항 중 어느 한 항에 기재된 방법을 컴퓨터로 판독 가능한 프로그램으로 기록한 기록 매체.
  • 说明书全文

    비동기 프레임을 효율적으로 예측하는 비디오 코딩 방법 및 장치{Video coding method and apparatus for predicting effectively unsynchronized frame}

    도 1은 다 계층 구조를 이용한 스케일러블 비디오 코덱의 한 예를 보여주는 도면.

    도 2는 기존의 3가지 예측 방법을 설명하는 개략도.

    도 3은 본 발명에 따른 VBP의 기본 개념을 설명하는 개략도.

    도 4는 기초 계층의 순방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타내는 도면.

    도 5는 기초 계층의 역방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타내는 도면.

    도 6a는 인터 예측을 수행할 프레임을 구성하는 파티션의 예를 나타내는 도면.

    도 6b는 H.264에 따라 계층적 가변 크기를 갖는 파티션의 예를 나타내는 도면.

    도 6c는 매크로블록을 구성하는 파티션 및 각 파티션별 모션 벡터의 예를 나타내는 도면.

    도 6d는 어떤 하나의 파티션에 대한 모션 벡터를 나타내는 도면.

    도 6e는 모션 보상 프레임을 구성하는 과정을 보여주는 도면.

    도 6f는 제1 실시예에 따라 가상 기초 계층 프레임을 생성하는 과정을 보여주는 도면.

    도 6g는 제1 실시예에 따라 생성된 가상 기초 계층 프레임에서 다양한 픽셀 영역을 나타내는 도면.

    도 7a 및 도 7b는 제2 실시예에 따라 가상 기초 계층 프레임을 생성하는 과정을 보여주는 도면.

    도 8은 본 발명의 일 실시예에 따른 비디오 인코더의 구성을 도시한 블록도.

    도 9는 본 발명의 일 실시예에 따른 비디오 디코더의 구성을 도시한 블록도.

    도 10은 비디오 인코더/디코더가 동작하는 시스템 환경을 나타내는 구성도.

    도 11은 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타내는 흐름도.

    도 12은 본 발명의 일 실시예에 따른 비디오 디코딩 과정을 나타내는 흐름도.

    <도면의 주요부분에 대한 부호 설명>

    100 : 기초 계층 인코더 110 : 다운 샘플러

    120, 220 : 변환부 130, 230 : 양자화부

    140, 240 : 엔트로피 부호화부 150 : 모션 추정부

    160 : 모션 보상부 180 : 프레임 버퍼

    190 : 가상 프레임 생성부 195 : 업샘플러

    200 : 향상 계층 인코더 210 : 차분기

    300 : 비디오 인코더 400 : 기초 계층 디코더

    410, 510 : 엔트로피 복호화부 420, 520 : 역 양자화부

    430, 530 : 역 변환부 450 : 프레임 버퍼

    460 : 모션 보상부 470 : 가상 프레임 생성부

    480 : 업샘플러 500 : 향상 계층 디코더

    515 : 가산기

    본 발명은 비디오 압축 방법에 관한 것으로, 보다 상세하게는 다 계층 구조를 갖는 비디오 프레임에서, 하위 계층의 대응 프레임이 존재하지 않는 프레임을 효율적으로 예측하는 방법 및 그 방법을 이용한 비디오 코딩 장치에 관한 것이다.

    인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.

    데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다. 일반적인 비디오 코딩 방법에 있어서, 시간적 중복은 모션 보상에 근거한 시간적 필터링(temporal filtering)에 의해 제거하고, 공간적 중복은 공간적 변환(spatial transform)에 의해 제거한다.

    데이터의 중복을 제거한 후 생성되는 멀티미디어를 전송하기 위해서는, 전송매체가 필요한데 그 성능은 전송매체 별로 차이가 있다. 현재 사용되는 전송매체는 초당 수십 메가비트의 데이터를 전송할 수 있는 초고속통신망부터 초당 384 kbit의 전송속도를 갖는 이동통신망 등과 같이 다양한 전송속도를 갖는다. 이와 같은 환경에서, 다양한 속도의 전송매체를 지원하기 위하여 또는 전송환경에 따라 이에 적합한 전송률로 멀티미디어를 전송할 수 있도록 하는, 즉 스케일러블 비디오 코딩(scalable video coding) 방법이 멀티미디어 환경에 보다 적합하다 할 수 있다.

    이러한 스케일러블 비디오 코딩이란, 이미 압축된 비트스트림(bit-stream)에 대하여 전송 비트율, 전송 에러율, 시스템 자원 등의 주변 조건에 따라 상기 비트스트림의 일부를 잘라내어 비디오의 해상도, 프레임율, 및 비트율(bit-rate) 등을 조절할 수 있게 해주는 부호화 방식을 의미한다. 이러한 스케일러블 비디오 코딩에 관하여, 이미 MPEG-4(moving picture experts group-21) Part 10에서 그 표준화 작 업을 진행 중에 있다. 이 중에서도, 다 계층(multi-layered) 기반으로 스케일러빌리티를 구현하고자 하는 많은 노력들이 있다. 예를 들면, 기초 계층(base layer), 제1 향상 계층(enhanced layer 1), 제2 향상 계층(enhanced layer 2)의 다 계층을 두어, 각각의 계층은 서로 다른 해상도(QCIF, CIF, 2CIF), 또는 서로 다른 프레임율(frame-rate)을 갖도록 구성할 수 있다.

    도 1은 다 계층 구조를 이용한 스케일러블 비디오 코덱의 한 예를 보여주고 있다. 먼저 기초 계층을 QCIF(Quarter Common Intermediate Format), 15Hz(프레임 레이트)로 정의하고, 제1 향상 계층을 CIF(Common Intermediate Format), 30hz로, 제2 향상 계층을 SD(Standard Definition), 60hz로 정의한다. 만약 CIF 0.5Mbps 스트림(stream)을 원한다면, 제1 향상 계층의 CIF_30Hz_0.7M에서 비트율(bit-rate)이 0.5M로 되도록 비트스트림을 잘라서 보내면 된다. 이러한 방식으로 공간적, 시간적, SNR 스케일러빌리티를 구현할 수 있다.

    도 1에서 보는 바와 같이, 동일한 시간적 위치를 갖는 각 계층에서의 프레임(예: 10, 20, 및 30)은 그 이미지가 유사할 것으로 추정할 수 있다. 따라서, 하위 계층의 텍스쳐로부터(직접 또는 업샘플링 후) 현재 계층의 텍스쳐를 예측하고, 예측된 값과 실제 현재 계층의 텍스쳐와의 차이를 인코딩하는 방법이 알려져 있다. "Scalable Video Model 3.0 of ISO/IEC 21000-13 Scalable Video Coding"(이하 "SVM 3.0"이라 함)에서는 이러한 방법을 인트라 BL 예측(Intra_BL prediction)이라고 정의하고 있다.

    이와 같이, SVM 3.0에서는, 기존의 H.264에서 현재 프레임을 구성하는 블록 내지 매크로블록에 대한 예측을 위하여 사용된 인터 예측(inter prediction) 및 방향적 인트라 예측(directional intra prediction)이외에도, 현재 블록과 이에 대응되는 하위 계층 블록 간의 연관성(correlation)을 이용하여 현재 블록을 예측하는 방법을 추가적으로 채택하고 있다. 이러한 예측 방법을 "인트라 BL(Intra_BL) 예측"이라고 하고 이러한 예측을 사용하여 부호화하는 모드를 "인트라 BL 모드"라고 한다.

    도 2는 상기 3가지 예측 방법을 설명하는 개략도로서, 현재 프레임(11)의 어떤 매크로블록(14)에 대하여 인트라 예측을 하는 경우(①)와, 현재 프레임(11)과 다른 시간적 위치에 있는 프레임(12)을 이용하여 인터 예측을 하는 경우(②)와, 상기 매크로블록(14)과 대응되는 기초 계층 프레임(13)의 영역(16)에 대한 텍스쳐 데이터를 이용하여 인트라 BL 예측을 하는 경우(③)를 각각 나타내고 있다.

    이와 같이, 상기 스케일러블 비디오 코딩 표준에서는 매크로블록 단위로 상기 세가지 예측 방법 중 유리한 하나의 방법을 선택하여 이용한다.

    그러나, 도 1과 같이 계층간 프레임율이 상이한 경우에는, 하위 계층 프레임이 존재하지 않는 프레임(40)도 존재할 수 있고, 이와 같은 프레임(40)에 대하여는 인트라 BL 예측을 이용할 수가 없게 된다. 따라서, 이 경우에는 상기 프레임(40)은 하위 계층의 정보를 이용하지 않고 해당 계층의 정보만을 이용하여(즉, 인터 예측 및 인트라 예측만을 이용하여) 부호화되는 만큼, 부호화 성능 면에서 다소 비효율적이라고 할 수 있다.

    본 발명은 상기한 문제점을 고려하여 창안된 것으로, 비동기 프레임에 대하여 인트라 BL 예측을 수행할 수 있는 방법을 제공하는 것을 목적으로 한다.

    또한, 본 발명은 상기 방법을 통하여 다 계층 기반의 비디오 코덱의 성능을 향상시키는 것을 또 다른 목적으로 한다.

    상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 인코딩 방법은, (a) 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 하나의 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 단계; (b) 상기 모션 추정 결과 구해지는 모션 벡터 및 상기 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계; (c) 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 단계; 및 (d) 상기 차분을 부호화하는 단계를 포함한다.

    상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 디코딩 방법은, (a) 하위 계층 비트스트림으로부터, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 참조 프레임을 복원하는 단계; (b) 상기 하위 계층 비트스트림에 포함되는 모션 벡터 및 상기 복원된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 단계; (c) 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 잔여 프레임을 복원하는 단계; 및 (d) 상기 잔여 프레임과 상기 가상 기초 계층 프레임을 가산하 는 단계를 포함한다.

    상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 인코더는, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 하나의 프레임을 참조 프레임으로 하여 모션 추정을 수행하는 수단; 상기 모션 추정 결과 구해지는 모션 벡터 및 상기 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단; 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분하는 수단; 및 상기 차분을 부호화하는 수단을 포함한다.

    상기한 목적을 달성하기 위하여, 본 발명에 따른 다 계층 기반의 비디오 디코더는, 하위 계층 비트스트림으로부터, 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 참조 프레임을 복원하는 수단; 상기 하위 계층 비트스트림에 포함되는 모션 벡터 및 상기 복원된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성하는 수단; 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고 상기 텍스쳐 데이터로부터 잔여 프레임을 복원하는 수단; 및 상기 잔여 프레임과 상기 가상 기초 계층 프레임을 가산하는 수단을 포함한다.

    이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태 로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.

    도 3은 본 발명에 따른 VBP의 기본 개념을 설명하는 개략도이다. 여기서, 현재 계층(L n )은 CIF 해상도에 30Hz의 프레임율을 가지며, 하위 계층(L n-1 )은 QCIF 해상도에 15Hz의 프레임율을 갖는다고 한다. 본 명세서에서, 대응되는 기초 계층 프레임이 존재하지 않는 현재 계층의 프레임을 "비동기 프레임(unsynchronized frame)"이라고 하고, 대응되는 기초 계층 프레임이 존재하는 현재 계층 프레임을 "동기 프레임(synchronized frame)"이라고 정의한다. 비동기 프레임의 경우 대응되는 기초 계층 프레임이 존재하지 않으므로, 본 발명에서는 가상 기초 계층 프레임을 생성하고 이를 인트라 BL 예측을 위하여 사용하는 방법을 제안한다.

    도 3과 같이, 현재 계층과 하위 계층의 프레임율이 서로 다르다고 할 때, 비동기 프레임(A 1 )에 대응되는 하위 계층 프레임은 존재하지 않으므로, 상기 비동기 프레임(A 1 )에 가장 가까운 두 개의 하위 계층 프레임(B 0 , B 2 )을 이용하여 가상 기초 계층 프레임(B 1 )을 보간(interpolation)할 수 있다. 그리고 상기 보간된 가상 기초 계층 프레임(B 1 )을 이용하여 비동기 프레임(A 1 )을 효율적으로 예측할 수 있다. 본 명세서에서는, 이와 같이 가상 기초 계층 프레임을 이용하여 비동기 프레임을 예측 하는 방법을 가상 기초 계층 예측(virtual base-layer prediction; 이하 "VBP"라 함)이라고 정의한다.

    이와 같이, 본 발명에 따른 VBP의 개념은 서로 프레임율이 다른 두 계층 간에 적용될 수 있다. 따라서, 현재 계층 및 하위 계층이 비계층적 인터 예측 방법(MPEG 계열 코덱의 IBP 코딩 방식)을 사용하는 경우뿐만 아니라, MCTF와 같은 계층적 인터 예측 방법을 사용하는 경우에도 적용할 수 있다. 따라서, 현재 계층에서 MCTF를 이용하는 경우 하위 계층의 프레임율 보다 큰 프레임율을 갖는 MCTF의 시간적 레벨에 대하여 상기 VBP의 개념을 적용할 수도 있을 것이다.

    도 4 및 도 5는 본 발명의 VBP를 구현하는 방법의 예들을 보여주는 도면이다. 각각의 예에서, 하위 계층에서 상기 비동기 프레임(A 1 )에 가장 가까운 2개의 프레임(B 0 , B 2 ) 간의 모션 벡터와, 상기 프레임(B 0 , B 2 ) 중 참조 프레임을 이용하여 가상 기초 계층 프레임(B 1 )을 생성한다.

    이 중에서 도 4는 하위 계층의 순방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타낸다. 도 4에서 보면, 기초 계층의 프레임(B 2 )은 그 이전 프레임(B 1 )을 참조 프레임으로 하여 순방향 인터 예측(forward inter prediction) 된다. 즉, 상기 이전 프레임(B 0 )을 참조 프레임(reference frame; F r )으로 하여 순방향 모션 벡터(mv f )를 구한 후, 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)하고, 상기 모션 보상된 참조 프레임을 이용하여 상기 프레 임(B 2 )을 인터 예측하는 것이다.

    이러한 도 4의 실시예에서는, 상기 기초 계층에서 인터 예측을 위하여 이용되는 순방향 모션 벡터(mv f )와 참조 프레임(F r )으로 사용되는 프레임(B 0 )을 이용하여 가상 기초 계층 프레임(B 1 )을 생성하게 된다.

    한편, 도 5는 기초 계층의 역방향 인터 예측을 이용하여 VBP를 구현하는 예를 나타낸다. 도 5에서 보면, 기초 계층의 프레임(B 0 )은 그 이후 프레임(B 2 )을 참조 프레임으로 하여 역방향 인터 예측(backward inter prediction) 된다. 즉, 상기 이후 프레임(B 2 )을 참조 프레임(F r )으로 하여 역방향 모션 벡터(mv b )를 구한 후, 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)하고, 상기 모션 보상된 참조 프레임을 이용하여 상기 프레임(B 0 )을 인터 예측하는 것이다.

    이러한 도 5의 실시예에서는, 상기 기초 계층에서 인터 예측을 위하여 이용되는 역방향 모션 벡터(mv b )와 참조 프레임(F r )으로 사용되는 프레임(B 2 )을 이용하여 가상 기초 계층 프레임(B 1 )을 생성하게 된다.

    본 명세서에서, 의미를 명확하게 하기 위하여 부연하자면, 시간적으로 이전 프레임을 참조하는 인터 예측 방법을 순방향 예측(forward prediction)이라고 명명하고, 시간적으로 이후 프레임을 참조하는 인터 예측 방법을 역방향 예측(backward prediction)이라고 명명하기로 한다.

    도 6a 및 도 6g는 본 발명의 제1 실시예에 따른 가상 기초 계층 프레임을 생성하는 개념을 설명하기 위한 도면이다.

    먼저, 비동기 프레임에 가장 가까운 2개의 기초 계층 프레임 중에서 인터 예측을 수행하고자 하는 하나의 프레임(50)이 도 6a와 같이 복수의 파티션(partition)으로 이루어진다고 하자. 상기 프레임(50)은 순방향 예측의 경우에는 도 4의 B 2 가 될 것이고, 역방향 예측의 경우에는 도 5의 B 0 가 될 것이다. 본 명세서에서 "파티션"은 모션 추정, 즉 모션 벡터를 검색하는 단위 영역을 의미하는데, 상기 파티션은 도 6a와 같이 고정 크기(예를 들어, 4×4, 8×8, 16×16, 등)를 가질 수도 있고, H.264 등의 코덱에서와 같이 가변 크기를 가질 수도 있다.

    기존의 H.264는 하나의 프레임을 구성하는 각 매크로블록(16×16 크기를 가짐)의 인터 예측을 위하여, 도 6b와 같이 계층적 가변 크기 블록 정합(Hierarchical Variable Size Block Matching; HVSBM) 기술을 이용한다. 먼저, 하나의 매크로블록(25)은 4개의 모드를 갖는 서브 블록들로 분할될 수 있다. 즉, 매크로블록(25)은 16×16 모드, 8×16 모드, 16×8 모드, 및 8×8 모드로 일단 분할될 수 있다. 그리고 8×8 크기의 서브 블록들은 다시 4×8 모드, 8×4 모드, 및 4×4 모드로 더 분할될 수 있다(분할되지 않으면 8×8 모드를 그대로 사용한다).

    하나의 매크로 블록(25)을 이루는 최적 서브 블록들의 조합의 선택은, 여러가지 조합 가능한 경우 중에서 가장 비용이 작은 경우를 선택함으로써 이루어질 수 있다. 매크로블록(25)을 세분화할 수록 보다 정확한 블록 정합이 이루어지는 반면 에 그 만큼 모션 데이터(모션 벡터, 서브 블록 모드 등)의 수는 증가하므로 양자 사이에서 최적의 접합점을 찾을 수 있는 것이다.

    이와 같은 계층적 가변 크기 블록 정합 기술을 이용하면 하나의 프레임은 위에서 설명한 여러 가지 조합의 파티션들로 이루어진 매크로블록(25)들의 집합으로 구성되며, 상기 파티션들은 각각 하나의 모션 벡터를 갖는다. 하나의 매크로블록(25)에서 계층적 가변 크기 블록 정합에 의하여 결정된 파티션의 형태(사각형으로 표시됨)와 각 파티션 별 모션 벡터(화살표로 표시됨)의 예를 도시하면 도 6c와 같다.

    이와 같이 본 발명에서의 "파티션"은 모션 벡터를 부여하는 영역의 단위를 의미하는 것이고, 그 크기 모양 등은 코덱의 종류에 따라서 달라질 수 있음을 확실히 밝혀 둔다. 다만, 설명의 편의상 이하에서는 인터 예측을 수행하고자 하는 프레임(50)은 도 6a와 같이 고정 크기의 파티션을 갖는 것으로 하여 설명할 것이다. 그리고, 본 명세서에서 부재 번호 50은 인터 예측을 수행하고자 하는 하위 계층의 프레임(예: 도 4의 B 2 , 도 5의 B 0 )을 나타내고, 부재 번호 60은 상기 인터 예측을 위한 참조 프레임(예: 도 4의 B 0 , 도 5의 B 2 )을 나타내는 것으로 한다.

    프레임(50)의 파티션(1)에 대한 모션 벡터(mv)가 도 6d와 같이 결정된다면 파티션(1)에 대응되는 참조 프레임(60) 상의 영역은 상기 파티션(1)의 위치에서 모션 벡터만큼 이동한 위치의 영역(1')이 된다. 따라서, 이와 같은 경우에 참조 프레임에 대한 모션 보상 프레임(70)은 도 6e와 같이, 참조 프레임(60) 상의 상기 영역 (1')의 텍스쳐 데이터를 파티션(1)의 위치에 복사하는 방식으로 생성된다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 모션 보상 프레임(70)이 완성된다.

    본 발명의 제1 실시예에서는 이와 같은 모션 보상 프레임을 생성하는 원리에 착안하여, 가상 기초 계층 프레임(80)을 도 6f와 같은 방법으로 생성한다. 즉, 모션 벡터가 프레임 내의 어떤 물체가 움직이는 방향을 나타내므로, 참조 프레임(60)과 인터 예측을 수행할 프레임(50) 사이의 거리에 대한, 참조 프레임(60)과 가상 기초 계층 프레임(80)이 생성될 위치와의 거리의 비율(이하 "거리 비율"이라 함)(도 4 및 도 5의 경우는 0.5임)을 상기 모션 벡터에 곱한 값만큼만 모션 보상을 수행한다. 다시 말하면, 상기 영역(1')을 -r×mv만큼 이동한 위치에 복사하는 방식으로 가상 기초 계층 프레임(80)을 채워 간다. 여기서, r은 거리 비율을, mv는 모션 벡터를 의미한다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 가상 기초 계층 프레임(80)은 완성된다.

    이와 같이 제1 실시예는 모션 벡터가 프레임 내 어떤 물체의 움직임을 나타내며, 그 움직임은 프레임 간격과 같이 짧은 시간 단위에서는 대체적으로 연속적일 것이라는 기본 가정에 따른 것이다. 그런데, 제1 실시예의 방법에 따라서 생성되는 가상 기초 계층 프레임(80)은 예를 들어, 도 6g와 같이 연결되지 않은(unconnected) 픽셀 영역, 및 다중 연결된(multi-connected) 픽셀 영역을 포함할 수 있다. 도 6g에서 단일 연결된(single-connected) 픽셀 영역에는 하나의 텍스쳐 데이터만이 존재하므로 문제가 없으나, 이외의 픽셀 영역들에 대하여 어떻게 처리 할 것인가가 문제된다.

    일 예로서 다중 연결된 픽셀은 연결된 해당 위치의 복수의 텍스쳐 데이터를 평균한 값으로 대치할 수 있다. 그리고, 연결되지 않은 픽셀은 인터 예측을 수행할 프레임(50) 중 대응되는 픽셀 값으로 대치하거나, 참조 프레임(60) 중 대응되는 픽셀 값으로 대치하거나, 또는 상기 프레임들(50, 60)에서 대응되는 픽셀 값을 평균한 값으로 대치할 수 있다.

    단일 연결된 픽셀 영역에 비하여 연결되지 않은 픽셀 영역 또는 다중 연결된 픽셀 영역은 비동기 프레임에 대한 인트라 BL 예측에 사용될 경우 높은 성능을 기대하기 어렵지만, 어차피 이들 영역에 대해서는 예측 방법으로서 비용 면에서 상기 인트라 BL 예측 보다는 비동기 프레임에 대한 인터 예측이나 방향적 인트라 예측이 선택될 가능성이 크므로 성능의 저하는 발생되지 않을 것으로 예상할 수 있다. 그리고, 단일 연결된 픽셀 영역에서는 인트라 BL 예측이 충분히 높은 성능을 나타낼 수 있을 것이므로 전체적으로 하나의 프레임 단위로 판단한다면, 제1 실시예를 적용한 경우 성능의 향상을 기대할 수 있다.

    한편, 도 7a 및 도 7b는 본 발명의 다른 실시예(제2 실시예)에 따른 가상 기초 계층 프레임을 생성하는 개념을 설명하기 위한 도면이다. 제2 실시예는 제1 실시예에서 생성되는 가상 기초 계층 프레임(80)에서 연결되지 않은 픽셀 영역, 및 다중 연결된 픽셀 영역이 발생하는 문제를 해소하기 위하여 고안된 방법으로서, 가상 기초 계층 프레임(80)의 파티션 패턴은 인터 예측을 수행할 기초 계층 프레임(50)의 파티션 패턴을 그대로 이용한다.

    제2 실시예도, 인터 예측을 수행할 기초 계층 프레임(50)은 도 6a와 마찬가지로 나타나고, 특정 파티션(1)에 대한 모션 벡터도 도 6d와 같이 나타난다고 하여 설명할 것이다. 제2 실시예에서는, 도 7a에서 도시하는 바와 같이, 상기 파티션(1)에 대응되는 참조 프레임(60) 상의 영역은 상기 파티션(1)의 위치에서 r×mv만큼 이동한 위치의 영역(1")이 된다. 따라서, 이 경우에 가상 기초 계층 프레임(90)은 도 7b와 같이, 참조 프레임(60) 상의 상기 영역(1")의 텍스쳐 데이터를 파티션(1)의 위치에 복사하는 방식으로 생성된다. 이와 같은 과정을 모든 파티션(2 내지 16)에 대하여 마찬가지로 수행하여 전체 영역을 채우면 가상 기초 계층 프레임(90)이 완성된다. 이렇게 생성되는 가상 기초 계층 프레임(90)은 인터 예측을 수행할 기초 계층 프레임(50)과 동일한 파티션 패턴을 갖기 때문에, 상기 프레임(90)에는 연결되지 않은 픽셀 영역이나 다중 연결된 픽셀 영역은 존재하지 않고 단일 연결된 픽셀 영역만이 존재한다.

    이상의 제1 실시예와 제2 실시예는 각각 독립적으로 실행될 수 있지만, 이 두 실시예를 조합한 하나의 실시예를 고려할 수도 있다. 즉, 제1 실시예에서 가상 기초 계층 프레임(80)의 연결되지 않은 픽셀 영역을 상기 제2 실시예에서 구한 가상 기초 계층 프레임(90)에서 대응되는 영역으로 대치하는 것이다. 또는 제1 실시예에서 가상 기초 프레임(80)의 연결되지 않은 픽셀 영역 및 다중 연결된 픽셀 영역을 상기 제2 실시예에서 구한 가상 기초 계층 프레임(90)에서 대응되는 영역으로 대치할 수도 있다.

    도 8은 본 발명의 일 실시예에 따른 비디오 인코더(300)의 구성을 도시한 블 록도이다. 도 8 및 후술하는 도 9의 설명에서는 하나의 기초 계층과 하나의 향상 계층을 사용하는 경우를 예로 들겠지만, 더 많은 계층을 이용하더라도 하위 계층과 현재 계층 간에는 본 발명을 적용할 수 있음은 당업자라면 충분히 알 수 있을 것이다.

    상기 비디오 인코더(300)는 크게 향상 계층 인코더(200)와 기초 계층 인코더(100)로 구분될 수 있다. 먼저, 기초 계층 인코더(100)의 구성을 살펴 본다.

    다운 샘플러(110)는 입력된 비디오를 기초 계층에 맞는 해상도와 프레임율로 다운 샘플링한다. 해상도면에서의 다운 샘플링은 MPEG 다운 샘플러나 웨이블릿 다운샘플러를 이용할 수 있다. 그리고, 프레임율 면에서의 다운 샘플링은 프레임 스킵 또는 프레임 보간 등의 방법을 통하여 간단히 수행될 수 있다.

    모션 추정부(150)는 기초 계층 프레임에 대해 모션 추정을 수행하여 기초 계층 프레임을 구성하는 파티션 별로 모션 벡터(mv)를 구한다. 이러한 모션 추정은 참조 프레임(F r ) 상에서, 현재 프레임(F c )의 각 파티션과 가장 유사한, 즉 가장 에러가 작은 영역을 찾는 과정으로서, 고정 크기 블록 매칭 방법, 또는 계층적 가변 사이즈 블록 매칭 등 다양한 방법을 사용할 수 있다. 상기 참조 프레임(F r )은 프레임 버퍼(180)에 의하여 제공될 수 있다. 다만, 도 8의 기초 계층 인코더(100)는 복원된 프레임을 참조 프레임으로 이용하는 방식, 즉 폐루프 부호화 방식을 채택하고 있지만, 이에 한하지 않고 다운 샘플러(110)에 의하여 제공되는 원래 기초 계층 프레임을 참조 프레임으로 이용하는 개루프 부호화 방식을 채택할 수도 있다.

    모션 보상부(160)는 상기 구한 모션 벡터를 이용하여 상기 참조 프레임을 모션 보상(motion compensation)한다. 그리고, 차분기(115)는 기초 계층의 현재 프레임(F c )과 상기 모션 보상된 참조 프레임을 차분함으로써 잔여 프레임(residual frame)을 생성한다.

    변환부(120)는 상기 생성된 잔여 프레임에 대하여, 공간적 변환(spatial transform)을 수행하여 변환 계수(transform coefficient)를 생성한다. 이러한 공간적 변환 방법으로는, DCT(Discrete Cosine Transform), 웨이블릿 변환(wavelet transform) 등의 방법이 주로 이용된다. DCT를 사용하는 경우 상기 변환 계수는 DCT 계수를 의미하고, 웨이블릿 변환을 사용하는 경우 상기 변환 계수는 웨이블릿 계수를 의미한다.

    양자화부(130)는 변환부(120)에 의하여 생성되는 변환 계수를 양자화(quantization)한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 DCT 계수를 양자화 테이블에 따라 소정의 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 대응되는 인덱스로 매칭(matching)시키는 작업을 의미한다. 이와 같이 양자화된 결과 값을 양자화 계수(quantized coefficient)라고 한다.

    엔트로피 부호화부(140)은 양자화부(140)에 의하여 생성된 양자화 계수, 모션 추정부(150)에서 생성된 모션 벡터를 무손실 부호화하여 기초 계층 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 허프만 부호화(Huffman coding), 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding) 등의 다양한 무손실 부호화 방법을 사용할 수 있다.

    한편, 역 양자화부(171)는 양자화부(130)에서 출력되는 양자화 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.

    역 변환부(172)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행한다. 이러한 역 공간적 변환은 변환부(120)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.

    가산기(125)는 모션 보상부(160)의 출력 값과 역 변환부(172)의 출력 값을 가산하여 현재 프레임을 복원하고 이를 프레임 버퍼(180)에 제공한다. 프레임 버퍼(180)는 상기 복원된 프레임을 일시 저장하였다고 다른 기초 계층 프레임의 인터 예측을 위하여 참조 프레임으로서 제공한다.

    한편, 가상 프레임 생성부(190)는 향상 계층의 비동기 프레임에 대한 인트라 BL 예측을 수행하기 위하여 가상 기초 계층 프레임을 생성한다. 즉, 가상 프레임 생성부(190)는 상기 비동기 프레임에 시간적으로 가장 가까운 2개의 기초 계층 프레임 간에 생성된 모션 벡터와 상기 2개의 프레임 중 참조 프레임을 이용하여 가상 기초 계층 프레임을 생성한다. 이를 위하여, 가상 프레임 생성부(190)는 모션 추정부(150)로부터 모션 벡터(mv)를 제공 받고, 프레임 버퍼(180)로부터 참조 프레임 (F r )을 제공받는다. 상기 모션 벡터 및 참조 프레임을 이용하여 가상 기초 계층 프레임을 생성하는 보다 자세한 과정은 도 4 내지 도 7b에서 이미 설명한 바 있으므로 중복된 설명은 생략하기로 한다.

    가상 프레임 생성부(190)에 의하여 생성된 가상 기초 계층 프레임은 선택적으로 업샘플러(195)를 거쳐서 향상 계층 인코더(200)에 제공된다. 따라서, 업샘플러(195)는 향상 계층의 해상도와 기초 계층의 해상도가 다른 경우에는 가상 기초 계층 프레임을 향상 계층의 해상도로 업샘플링한다. 물론, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 것이다.

    다음으로, 향상 계층 인코더(200)의 구성을 살펴 본다.

    입력 프레임이 비동기 프레임인 경우, 상기 입력 프레임, 및 기초 계층 인코더(100)에서 제공된 가상 기초 계층 프레임은 차분기(210)로 입력된다. 차분기(210)는 상기 입력 프레임에서 상기 입력된 가상 기초 계층 프레임을 차분하여 잔여 프레임을 생성한다. 상기 잔여 프레임은 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)를 거쳐서 향상 계층 비트스트림으로 변환되어 출력된다. 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)의 기능 및 동작은 각각 변환부(120), 양자화부(130), 및 엔트로피 부호화부(140)의 그것들과 마찬가지이므로 중복된 설명은 생략하기로 한다.

    도 8에서 나타낸 향상 계층 인코더(200)는 입력 프레임 중에서 비동기 프레임을 인코딩하는 것을 중심으로 하여 설명하였다. 물론, 입력 프레임이 동기 프레 임인 경우라면, 도 2에서 설명한 바와 같이 종래의 3가지 예측 방법을 선택적으로 이용하여 인코딩할 수 있음은 당업자라면 이해할 수 있을 것이다.

    도 9는 본 발명의 일 실시예에 따른 비디오 디코더(600)의 구성을 도시한 블록도이다. 상기 비디오 디코더(600)는 크게 향상 계층 디코더(500)와 기초 계층 디코더(400)로 구분될 수 있다. 먼저, 기초 계층 디코더(400)의 구성을 살펴 본다.

    엔트로피 복호화부(410)는 기초 계층 비트스트림을 무손실 복호화하여, 기초 계층 프레임의 텍스쳐 데이터와, 모션 데이터(모션 벡터, 파티션 정보, 참조 프레임 번호 등)를 추출한다.

    역 양자화부(420)는 상기 텍스쳐 데이터를 역 양자화한다. 이러한 역 양자화 과정은 비디오 인코더(300) 단에서 수행되는 양자화 과정의 역에 해당되는 과정으로서, 양자화 과정에서 사용된 양자화 테이블을 이용하여 양자화 과정에서 생성된 인덱스로부터 그에 매칭되는 값을 복원하는 과정이다.

    역 변환부(430)는 상기 역 양자화된 결과 값에 대하여 역 공간적 변환을 수행하여 잔여 프레임을 복원한다. 이러한 역 공간적 변환은 비디오 인코더(300) 단의 변환부(120)에서의 변환 과정의 역으로 진행되며, 구체적으로 역 DCT 변환, 역 웨이블릿 변환 등이 이용될 수 있다.

    한편, 엔트로피 복호화부(410)는 모션 벡터(mv)를 포함한 모션 데이터를 모션 보상부(460) 및 가상 프레임 생성부(470)에 제공한다.

    모션 보상부(460)는 엔트로피 복호화부(410)로부터 제공되는 모션 데이터를 이용하여, 프레임 버퍼(450)으로부터 제공되는 기 복원된 비디오 프레임, 즉 참조 프레임을 모션 보상하여 모션 보상 프레임을 생성한다. 물론, 이와 같은 모션 보상 과정은 현재 프레임이 인코더 단에서 인터 예측을 통하여 부호화된 경우에 한하여 적용된다.

    가산기(515)는 역 변환부(430)에서 복원되는 잔여 프레임과 상기 모션 보상부(460)에서 생성된 모션 보상 프레임을 가산하여 기초 계층 비디오 프레임을 복원한다. 복원된 비디오 프레임은 프레임 버퍼(450)에 일시 저장될 수 있으며, 이후의 다른 프레임의 복원을 위하여 모션 보상부(460) 또는 가상 프레임 생성부(470)에 참조 프레임으로 제공될 수 있다.

    한편, 가상 프레임 생성부(470)는 향상 계층의 비동기 프레임에 대한 인트라 BL 예측을 수행하기 위한 가상 기초 계층 프레임을 생성한다. 즉, 가상 프레임 생성부(470)는 상기 비동기 프레임에 시간적으로 가장 가까운 2개의 기초 계층 프레임 간에 생성된 모션 벡터와 상기 2개의 프레임 중 참조 프레임을 이용하여 가상 기초 계층 프레임을 생성한다. 이를 위하여, 가상 프레임 생성부(470)는 엔트로피 복호화부(410)로부터 모션 벡터(mv)를 제공 받고, 프레임 버퍼(450)로부터 참조 프레임(F r )을 제공받는다. 상기 모션 벡터 및 참조 프레임을 이용하여 가상 기초 계층 프레임을 생성하는 보다 자세한 과정은 도 4 내지 도 7b에서 이미 설명한 바 있으므로 중복된 설명은 생략하기로 한다.

    가상 프레임 생성부(470)에 의하여 생성된 가상 기초 계층 프레임은 선택적으로 업샘플러(480)를 거쳐서 향상 계층 디코더(500)에 제공된다. 따라서, 업샘플 러(480)는 향상 계층의 해상도와 기초 계층의 해상도가 다른 경우에는 가상 기초 계층 프레임을 향상 계층의 해상도로 업샘플링한다. 물론, 기초 계층의 해상도와 향상 계층의 해상도가 동일하다면 상기 업샘플링 과정은 생략될 것이다.

    다음으로, 향상 계층 디코더(500)의 구성을 살펴 본다. 향상 계층 비트스트림 중 비동기 프레임에 관한 부분이 엔트로피 복호화부(510)에 입력되면, 엔트로피 복호화부(510)는 상기 입력된 비트스트림을 무손실 복호화하여, 비동기 프레임에 대한 텍스쳐 데이터를 추출한다.

    그리고, 상기 추출된 텍스쳐 데이터는 역 양자화부(520) 및 역 변환부(530)를 거쳐서 잔여 프레임으로 복원된다. 역 양자화부(520) 및 역 변환부(530)의 기능 및 동작은 역 양자화부(420) 및 역 변환부(430)와 마찬가지이다.

    가산기(515)는 상기 복원된 잔여 프레임과 기초 계층 디코더(400)로부터 제공되는 가상 기초 계층 프레임을 가산하여 상기 비동기 프레임을 복원한다.

    이상 도 9에서 나타낸 향상 계층 디코더(500)는 입력 프레임 중에서 비동기 프레임을 디코딩하는 것을 중심으로 하여 설명하였다. 물론, 향상 계층 비트스트림이 동기 프레임에 관한 부분이라면, 도 2에서 설명한 바와 같이 종래의 3가지 예측 방법에 따른 복원 방법을 선택적으로 이용할 수 있음은 당업자라면 이해할 수 있을 것이다.

    도 10은 본 발명의 일 실시예에 따른 비디오 인코더(300), 또는 비디오 디코더(600)가 동작하는 시스템 환경을 나타내는 구성도이다. 상기 시스템은 TV, 셋탑박스, 데스크 탑, 랩 탑 컴퓨터, 팜 탑(palmtop) 컴퓨터, PDA(personal digital assistant), 비디오 또는 이미지 저장 장치(예컨대, VCR(video cassette recorder), DVR(digital video recorder) 등)를 나타내는 것일 수 있다. 뿐만 아니라, 상기 시스템은 상기한 장치들을 조합한 것, 또는 상기 장치가 다른 장치의 일부분으로 포함된 것을 나타내는 것일 수도 있다. 상기 시스템은 적어도 하나 이상의 비디오 소스(video source; 910), 하나 이상의 입출력 장치(920), 프로세서(940), 메모리(950), 그리고 디스플레이 장치(930)를 포함하여 구성될 수 있다.

    비디오 소스(910)는 TV 리시버(TV receiver), VCR, 또는 다른 비디오 저장 장치를 나타내는 것일 수 있다. 또한, 상기 소스(910)는 인터넷, WAN(wide area network), LAN(local area network), 지상파 방송 시스템(terrestrial broadcast system), 케이블 네트워크, 위성 통신 네트워크, 무선 네트워크, 전화 네트워크 등을 이용하여 서버로부터 비디오를 수신하기 위한 하나 이상의 네트워크 연결을 나타내는 것일 수도 있다. 뿐만 아니라, 상기 소스는 상기한 네트워크들을 조합한 것, 또는 상기 네트워크가 다른 네트워크의 일부분으로 포함된 것을 나타내는 것일 수도 있다.

    입출력 장치(920), 프로세서(940), 그리고 메모리(950)는 통신 매체(960)를 통하여 통신한다. 상기 통신 매체(960)에는 통신 버스, 통신 네트워크, 또는 하나 이상의 내부 연결 회로를 나타내는 것일 수 있다. 상기 소스(910)로부터 수신되는 입력 비디오 데이터는 메모리(950)에 저장된 하나 이상의 소프트웨어 프로그램에 따라 프로세서(940)에 의하여 처리될 수 있고, 디스플레이 장치(930)에 제공되는 출력 비디오를 생성하기 위하여 프로세서(940)에 의하여 실행될 수 있다.

    특히, 메모리(950)에 저장된 소프트웨어 프로그램은 본 발명에 따른 방법을 수행하는 다 계층 기반의 비디오 코덱을 포함할 수 있다. 상기 코덱은 메모리(950)에 저장되어 있을 수도 있고, CD-ROM이나 플로피 디스크와 같은 저장 매체에서 읽어 들이거나, 각종 네트워크를 통하여 소정의 서버로부터 다운로드한 것일 수도 있다. 상기 소프트웨어에 의하여 하드웨어 회로에 의하여 대체되거나, 소프트웨어와 하드웨어 회로의 조합에 의하여 대체될 수 있다.

    도 11은 본 발명의 일 실시예에 따른 비디오 인코딩 과정을 나타내는 흐름도이다.

    먼저, 현재 계층의 프레임이 향상 계층 인코더(200)에 입력되면(S10), 상기 프레임이 비동기 프레임인지 동기 프레임인지를 판단한다(S20).

    상기 판단 결과 비동기 프레임이라면(S20의 예), 모션 추정부(150)는 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 하나의 프레임을 참조 프레임으로 하여 모션 추정을 수행한다(S30). 상기 모션 추정은 고정 크기 블록 또는 계층적 가변 크기 블록 단위로 수행될 수 있으며, 상기 참조 프레임은 도 4와 같이 상기 2개의 하위 계층 프레임들 중 시간적으로 앞선 프레임일 수도 있고, 도 5와 같이 시간적으로 뒤진 프레임일 수도 있다.

    그러면, 가상 프레임 생성부(190)는 상기 모션 추정 결과 구해지는 모션 벡터 및 상기 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성한다(S40).

    제1 실시예에 따르면 상기 S40 단계는, 상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계와, 상기 판독된 텍스쳐 데이터를 상기 영역으로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 상기 모션 벡터의 반대 방향으로 이동한 위치에 복사하는 단계로 이루어질 수 있다. 여기서, 상기 복사 결과 연결되지 않은 픽셀 영역은 상기 참조 프레임 중에서 상기 픽셀 영역에 대응되는 영역의 텍스쳐 데이터로 대치될 수 있고, 상기 복사 결과 다중 연결된 픽셀 영역은 해당 위치에 다중으로 복사된 복수의 텍스쳐 데이터를 평균한 값으로 대치될 수 있다.

    한편, 제2 실시예에 따르면 상기 S40 단계는, 상기 참조 프레임상에서, 상기 모션 벡터가 할당된 파티션의 위치로부터 상기 모션 벡터에 거리 비율을 곱한 값만큼 떨어진 영역의 텍스쳐 데이터를 판독하는 단계와, 상기 판독된 텍스쳐 데이터를 상기 파티션의 위치에 복사하는 단계로 이루어질 수 있다.

    업샘플러(195)는 상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는, 상기 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링한다(S50).

    그러면, 향상 계층 인코더(200)의 차분기(210)는 상기 비동기 프레임에서 상기 생성된 가상 기초 계층 프레임을 차분한다(S60). 그리고, 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)는 상기 차분을 부호화한다(S70).

    한편, S20의 판단 결과 동기 프레임이라면(S20의 아니오), 업샘플러(190)는 현재의 동기 프레임에 대응되는 위치의 기초 계층 프레임을 현재 계층의 해상도로 업샘플링하고(S80), 차분기(210)는 상기 동기 프레임에서 상기 업샘플링된 기초 계 층 프레임을 차분한다(S90). 상기 차분도 마찬가지로 변환부(220), 양자화부(230), 및 엔트로피 부호화부(240)를 거쳐서 부호화된다(S70).

    도 12는 본 발명의 일 실시예에 따른 비디오 디코딩 과정을 나타내는 흐름도이다.

    현재 계층 비트스트림이 입력되면(S110), 현재 비트스트림이 비동기 프레임에 관한 것인가를 판단한다(S120).

    상기 판단 결과 비동기 프레임에 관한 것이면(S120의 예), 기초 계층 디코더(400)는 하위 계층 비트스트림으로부터 현재 계층의 비동기 프레임과 시간적으로 가장 가까운 거리에 있는 2개의 하위 계층 프레임들 중 참조 프레임을 복원한다(S130).

    그러면, 가상 프레임 생성부(470)는 상기 하위 계층 비트스트림에 포함되는 모션 벡터 및 상기 복원된 참조 프레임을 이용하여 상기 비동기 프레임과 동일한 시간적 위치에서의 가상 기초 계층 프레임을 생성한다(S140). 물론, S140 단계도 비디오 인코딩 과정에서와 마찬가지로 제1 실시예 및 제2 실시예를 모두 적용할 수 있다. 상기 현재 계층의 해상도와 상기 하위 계층의 해상도가 서로 다른 경우에는 업샘플러(480)는 상기 생성된 가상 기초 계층 프레임을 상기 현재 계층의 해상도로 업샘플링한다(S145).

    한편, 향상 계층 디코더(500)의 엔트로피 복호화부(510)는 현재 계층 비트스트림으로부터 상기 비동기 프레임의 텍스쳐 데이터를 추출하고(S150), 역 양자화부(520) 및 역 변환부(530)는 상기 텍스쳐 데이터로부터 잔여 프레임을 복원한다 (S160). 그러면, 가산기(515)는 상기 잔여 프레임과 상기 가상 기초 계층 프레임을 가산한다(S170). 그 결과 상기 비동기 프레임이 복원된다.

    S120 단계의 판단 결과 동기 프레임에 관한 것이면(S120의 아니오), 기초 계층 디코더(400)는 동기 프레임에 대응되는 위치의 기초 계층 프레임을 복원한다(S180). 그리고, 업샘플러(480)는 상기 복원된 기초 계층 프레임을 업샘플링한다(S190). 한편, 엔트로피 복호화부(510)는 현재 계층 비트스트림으로부터 동기 프레임의 텍스쳐 데이터를 추출하고(S200), 역 양자화부(520) 및 역 변환부(530)는 상기 텍스쳐 데이터로부터 잔여 프레임을 복원한다(S210). 그러면, 가산기(515)는 상기 잔여 프레임과 상기 업샘플링된 기초 계층 프레임을 가산한다(S220). 그 결과 상기 동기 프레임이 복원된다.

    이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

    본 발명에 따르면, 가상 기초 계층 프레임을 이용하여 비동기 프레임에 대하여도 인트라 BL 예측을 수행할 수 있는 효과가 있다.

    또한 본 발명에 따르면, 보다 효율적인 예측 방법을 통하여 비디오 압축 성능을 향상시킬 수 있다.

    高效检索全球专利

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

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

    申请试用

    分析报告

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

    申请试用

    QQ群二维码
    意见反馈