KR101307469B1 - 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법 - Google Patents

비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법 Download PDF

Info

Publication number
KR101307469B1
KR101307469B1 KR1020120056604A KR20120056604A KR101307469B1 KR 101307469 B1 KR101307469 B1 KR 101307469B1 KR 1020120056604 A KR1020120056604 A KR 1020120056604A KR 20120056604 A KR20120056604 A KR 20120056604A KR 101307469 B1 KR101307469 B1 KR 101307469B1
Authority
KR
South Korea
Prior art keywords
channel
frame
unit
auxiliary information
information
Prior art date
Application number
KR1020120056604A
Other languages
English (en)
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 서울대학교산학협력단
Priority to KR1020120056604A priority Critical patent/KR101307469B1/ko
Application granted granted Critical
Publication of KR101307469B1 publication Critical patent/KR101307469B1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/395Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving distributed video coding [DVC], e.g. Wyner-Ziv video coding or Slepian-Wolf video coding
    • 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/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법에 관한 것이다. 본 발명의 일 실시예는, 비디오 시퀀스를 인코딩하는 비디오 인코더에 있어서, 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력하고, 상기 비디오 인코더와 비디오 디코더 사이의 채널 정보에 따라 상기 제 1 프레임의 양자화된 AC 변환 계수를 선택적으로 채널 인코딩하하는 제 1 인코딩부; 상기 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩(intra coding)하는 제 2 인코딩부; 및 상기 채널 정보에 따라 상기 제 1 프레임을 제 2 인코딩부로 출력하거나, 상기 제 1 프레임을 상기 제 1 인코딩부로 출력하는 프레임제어부;를 포함하는 비디오 인코더를 제공한다.

Description

비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법{video encoder, video decoder, video encoding method, and video decoding method}
본 발명은 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법에 관한 것이다.
종래 비디오 코딩 기술은 예측코딩 접근방식을 사용하여, 그 성능이 많이 향상되었다. 코딩 원칙은 복잡도가 적은 디코딩에 효율적이어서 대체로 비디오 온 디메드(video-on-demend)와 방송 등의 다운 링크 커뮤니케이션(downlink communication)에 적용되었다. 이런 경우에 비디오 시퀀스들이 코딩되는 동시에 복호될 수 있고, 복잡한 인코더와 단순한 디코더가 쌍을 이루는 구조가 된다.
예측 비디오 코딩의 발전에도 불구하고 예측 비디오 코딩, 예를 들어 MPEG-2나 H.264/AVC의 종래의 모션 보상 변환 테크닉은 그 복잡성으로 인해 인코더 측에서 낮은 계산 복잡도를 가지는 장치나 그 어플리케이션에는 적합한 모델이 아니었다. 모바일 비디오 코딩, 감시 카메라, 센서 네트워크 등 제한적 계산 리소스를 포함하는 새 비디오 시스템은 업 링크 커뮤니케이션(uplink communication)이 필요하다. 이러한 요구에 대해 분산 비디오 코딩(distributed video coding; DVC)은 인코더의 계산 부담을 디코더로 옮길 수 있는 방식 중 하나로서 제안되었다.
초기 DVC 방식은 H.264 P-프레임 코딩보다 평균 100배 정도 빠른 계산이 가능했다. 그래서 DVC는 제한된 메모리 대역폭 또는 낮은 계산 파워의 제한에 따른 문제를 해결할 수 있는 비디오 코딩 방식 중 하나로 생각되었다.
이와 같이 분산비디오코딩(DVC)은 Slepian-Wolf (SW) 이론과 위너-지프(Wyner-Ziv; WZ) 이론에 기초한다. SW 이론은, 임의적 작은 에러가 디코딩에 허용되고 두 개의 소스가 특정한 통계 특성, 예를 들어 jointly Gaussian과 같은 특성을 가진다면, 그 두 개 소스의 독립적인 인코딩은, 이들을 함께 인코딩할 때와 같은 최소 비트 레잇(minimum rate)으로 할 수 있다는 것이다. WZ 이론은 코딩 프로세스가 lossy(손실)이 있는 경우라도 독립 인코딩 때문에 코딩 효율에 손실이 없다는 것을 나타낸다.
도 1은 종래의 분산비디오코딩(DVC) 시스템을 예시한 도면이다. 도 1을 참조하여 분산비디오코딩(DVC) 시스템을 설명하면 다음과 같다.
분산비디오코딩(DVC) 시스템에서 비디오 시퀀스는 위너-지프(Wyner Ziv; WZ) 프레임과 키 프레임(key frame)으로 구분한다. WZ 프레임(X)은 전형적인 채널 코드를 가진 인코더(Siepian-Wolf; SW 인코더)에 의해 픽셀 또는 변환 도메인에서 인코딩된다. 반면, 키 프레임(Y)은 H.264 인트라 코더와 같은 전형적인 인트라 프레임 코더로 인코딩되고, WZ 프레임을 복원하기 위한 보조정보프레임(side information; SI)을 생성하는데 사용된다.
움직임 보상된 프레임 인터폴레이션(frame interpolation)에 기초한 보조정보의 생성은 Slepian-Wolf 인코더/디코더의 코딩효율에 영향을 미친다. 비디오 디코더가 생성한 보조정보프레임(
Figure 112012042574986-pat00001
)에서 추정된 에러를 정정하고 WZ 프레임을 재구성하는데 사용되는 신드롬 비트(syndrome bit)를 필요로 한다. 따라서, Slepian-Wolf 인코더/디코더 사이에서 채널 코딩에 관련된 정보를 피드백 채널을 이용하여 전송한다.
상세히 설명하면, 키프레임(Y)은 종래의 인트라 프레임 인코더에서 인코딩되고, 종래의 인트라 프레임 디코더에서 디코딩(Y')된다. 키프레임들은 보간하여 보조정보프레임(
Figure 112012042574986-pat00002
)을 생성(side information generation)한다.
반면에 WZ 프레임(X)은 도메인 변환되어 Slepian-Wolf 인코더에서 채널 인코딩되고 채널 인코딩에 따른 신드롬 비트만을 디코더에 전송한다. Slepian-Wolf 디코더는 보조정보프레임과 신드롬 비트를 이용하여 WZ 프레임을 복원(X')하는데, Slepian-Wolf 디코더는 피드 백 채널을 이용하여 채널 디코딩에 필요한 적절한 정보를 Slepian-Wolf 인코더로 전송하여 채널 인코딩/디코딩이 효율적으로 수행될 수 있도록 한다.
그러나 이와 같은 분산비디오코딩 시스템에는 한계도 있는데, 분산비디오코딩(DVC)이 성공적으로 수행되기 위해서는 두 개의 핵심적인 문제가 있다. 즉, 비디오 간의 상관 노이즈 채널(correlated noise channel)과 피드백 채널(feedback channel)에 대한 문제가 해결되어야 한다. 첫째, 상관 노이즈 채널(correlated noise channel)은 대체로 분산비디오코딩(DVC)의 율 왜곡 성능(rate-distortion performance; 이하 R-D performance)을 떨어뜨릴 수 있다.
도 2는 분산비디오코딩(DVC) 시스템과 채널에 대한 예를 나타낸 도면이다. 이 도면에서 (a)는 DVC 시스템의 채널 모델, (b)는 레지듀얼 프레임, (c)는 복원된 프레임, (d)는 신뢰성 있는 채널 오류 특성을 가진 블록, (e)는 중간 채널 오류 특성을 가진 블록, (f)는 신뢰성 없는 채널 오류 특성을 을 가진 블록을 각각 나타낸다.
즉 (d) 블록 경우 비디오 프레임의 모션 움직임이 적기 때문에 신뢰성 있는 채널 오류 특성을 가질 수 있고, (f) 블록의 경우 비디오 프레임의 모션 움직임이 크기 때문에 신뢰성이 없는 채널 오류 특성을 가질 수 있다.
이 도면에서 예시한 바와 같이 실제의 WZ 인코더에서 WZ 프레임 X와 보조정보프레임
Figure 112012042574986-pat00003
는 시간적에 따라 불규칙적인(non-stationary) 특성을 가지고 있다. 따라서, 채널 노이즈가 고려된 경우, 화이트 노이즈보다는 상관 노이즈를 가정해야 한다. 상관된 노이즈는 일반적으로 스테이션너리 노이즈(stationary noise)보다 신드롬 비트가 더 필요하기 때문에 R-D 퍼포먼스가 열화된다.
둘째, DVC 시스템은 채널 디코딩에서 피드 백 데이터를 요구하고 이로 인해 비디오 디코딩에 롱 레이턴시(long latency)를 초래한다. 인코더가 WZ 프레임 X와 보조정보프레임 X^사이의 상관을 추정할 수 없기 때문인데, 디코더가 디코딩하면서 신드롬 비트를 요청하는 프로세스(decode-and-request process)가 온라인상으로 수행되어야 하고, 이는 많은 어플리케이션에서는 실용적이지 않을 수 있다.
위와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 위에서 예시한 문제를 해결하고 효율적인 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법을 제공하는 것이다.
본 발명의 목적은 분산비디오코딩(DVC)의 율 왜곡 성능을 높일 수 있는 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법을 제공하는 것이다.
본 발명의 다른 목적은 신뢰성 있는 채널을 식별하여 비디오 디코딩을 수행할 수 있는 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 비디오 디코딩에 롱 레이턴시(long latency)를 줄일 수 있는 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 분산비디오코딩 시스템에서 보조정보프레임의 정확하게 생성하고 개선할 수 있는 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법을 제공하는 것이다.
본 발명의 일 실시예는, 비디오 시퀀스를 인코딩하는 비디오 인코더에 있어서, 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력하고, 상기 비디오 인코더와 비디오 디코더 사이의 채널 정보에 따라 상기 제 1 프레임의 양자화된 AC 변환 계수를 선택적으로 채널 인코딩하하는 제 1 인코딩부; 상기 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩(intra coding)하는 제 2 인코딩부; 및 상기 채널 정보에 따라 상기 제 1 프레임을 제 2 인코딩부로 출력하거나, 상기 제 1 프레임을 상기 제 1 인코딩부로 출력하는 프레임제어부;를 포함하는 비디오 인코더를 제공한다.
상기 제 1 인코딩부는, 상기 제 1 프레임의 DCT(discrete cosine transform) 변환하는 DCT부; 상기 DCT 변환된 제 1 프레임을 양자화하는 양자화부; 및 상기 양자화된 제 1 프레임을 LDPCA (low density parity check accumulate) 인코딩하는 채널인코딩부를 포함할 수 있다.
상기 제 1 인코딩부는, 상기 비디오 디코더로부터 상기 채널인코딩부가 상기 제 1 프레임의 AC 변환 계수를 인코딩할 경우 필요한 비트 레잇 정보를 출력하는 레잇제어부를 더 포함할 수 있다. 상기 채널인코딩부는, 상기 비트 레잇 정보를 이용하여 상기 AC 변환 계수를 채널 인코딩할 수 있다.
본 발명의 다른 실시예는, 비디오 시퀀스의 키프레임(key frame)들을 인트라 코딩(intra coding)하는 제 1 디코딩부; 및 상기 키프레임들을 보간하여 보조 정보를 생성하고, 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수의 채널 인코딩한 신드롬 비트를 수신하여 채널 디코딩하고, 상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 생성하여 출력하고, 상기 채널 정보가, 제 1 모드인 경우 상기 보조 정보를 이용하여 상기 제 1 프레임으로 복원하고, 제 2 모드인 경우 상기 보조 정보와 상기 제 1 프레임의 AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩한 데이터를 이용하여 상기 제 1 프레임을 복원하고, 제 3 모드일 경우 인트라 코딩된 상기 제 1 프레임을 인트라 디코딩하여 상기 제 1 프레임을 복원하는 제 2 디코딩부;를 포함하는 비디오 디코더를 제공한다.
상기 제 2 디코딩부는, 상기 키프레임들을 보간하여 보조 정보를 생성하고, 상기 생성된 보조 정보를 선택적으로 개선하는 보조정보부; 상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트 또는 상기 제 1 프레임의 AC 변환 계수에 대한 신드롬 비트를 이용하여 각각 상기 DC 변환 계수 또는 상기 AC 변환 계수를 복원하는 채널디코딩부; 및 상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 출력하는 채널정보결정부를 포함할 수 있다.
상기 보조정보부는 상기 보조 정보를 생성하는 보조정보생성부; 및 상기 생성된 보조 정보를 개선하는 보조정보개선부를 포함할 수 있다. 상기 보조정보생성부는, 상기 키프레임들에 포함된 블록들로부터 시간적으로 양방향인 대칭 모션 벡터들의 절대값의 합이 최소로 되는 대칭 모션 벡터 및 상기 대칭 모션 벡터를 포함하는 보조 정보를 생성하는 모션추정부를 포함할 수 있다.
상기 보조정보생성부는, 상기 대칭 모션 벡터를, 상기 제 1 프레임의 블록 크기에 따라 계층적으로 스무딩한 계층적 모션 벡터를 포함하도록 상기 대칭 모션 벡터를 스무딩하는 모션벡터스무딩부를 더 포함할 수 있다. 상기 보조정보개선부는, 상기 보조 정보를 상기 계층적 모션 벡터를 이용하여 개선한 보조 정보의 DC 계수와 상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트를 이용하여 상기 보조 정보를 개선할 수 있다.
상기 채널정보결정부는, 상기 키프레임들과 상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트에 기초하여 상기 보조 정보의 각 블록의 왜곡을 추정하는 왜곡추정부; 및 상기 추정된 왜곡에 따라 상기 채널 정보를 상기 제 1 모드, 상기 제 2 모드 및 상기 제 3 모드로 나누는 채널결정부를 포함할 수 있다. 상기 채널정보결정부는, 상기 추정된 왜곡을 이용하여 상기 채널 정보가 상기 제 2 모드인 경우, 상기 AC 변환 계수를 채널 인코딩하기 위해 필요한 비트 정보를 출력할 수 있다.
본 발명의 또 다른 실시예는, 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩하는 단계; 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력하는 단계; 및 비디오 디코더로부터 채널 정보를 수신하고, 상기 채널 정보에 따라 선택적으로 상기 제 1 프레임의 양자화된 AC 변환 계수를 채널 인코딩하거나, 상기 제 1 프레임을 인트라 코딩하는 단계를 포함하는 비디오 인코딩 방법을 제공한다.
본 발명의 또 다른 실시예는, 비디오 시퀀스의 키프레임들을 인트라 디코딩하는 단계; 상기 키프레임들을 보간하여 보조 정보를 생성하는 단계; 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수의 채널 인코딩한 신드롬 비트를 수신하여 채널 디코딩하는 단계; 상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 생성하여 출력하고, 상기 채널 정보가, 제 1 모드인 경우 상기 보조 정보를 이용하여 상기 제 1 프레임으로 복원하고, 제 2 모드인 경우 상기 보조 정보와 상기 제 1 프레임의 AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩한 데이터를 이용하여 상기 제 1 프레임을 복원하고, 제 3 모드일 경우 인트라 코딩된 상기 제 1 프레임을 인트라 디코딩하여 상기 제 1 프레임을 복원하는 단계;를 포함하는 비디오 디코딩 방법을 제공한다.
본 발명의 실시예에 따르면 분산비디오코딩(DVC)의 율 왜곡 성능을 높일 수 있다.
본 발명의 실시예에 따르면 신뢰성 있는 채널을 식별하여 비디오 디코딩을 수행할 수 있다.
본 발명의 실시예에 따르면 비디오 디코딩에 롱 레이턴시(long latency)를 줄일 수 있다.
본 발명의 실시예에 따르면 분산비디오코딩 시스템에서 보조정보프레임의 정확하게 생성하고 개선할 수 있다.
도 1은 종래의 분산비디오코딩(DVC) 시스템을 예시한 도면
도 2는 분산비디오코딩(DVC) 시스템과 채널에 대한 예를 나타낸 도면
도 3는 본 발명에 따른 비디오 인코더의 일 실시예와 비디오 디코더의 일 실시예를 예시한 도면
도 4는 본 발명의 일 실시예에 따른 보조정보부의 예를 나타낸 도면
도 5는 본 발명의 실시예에 따라 계층적 모션 추정 스무딩의 예를 예시한 도면
도 6은 본 발명의 일 실시예에 따라 보조정보개선부(520)가 모션 벡터를 개선하는 예를 나타낸 도면
도 7은 채널 i에서 블록 평균 왜곡 지수와 평균 절대 채널 에러의 관계를 예시한 도면
도 8은, 8개의 테스트 시퀀스의 샘플 프레임을 나타낸 도면
도 9는 양자화 스텝 Q4와 Q8 에서 149 개의 제 1 프레임에 대한 평균 PSNR (Peak Signal to Noise Ratio)값을 나타낸 리스트
도 10은 8개의 QCIF 테스트 시퀀스에 대해 양자화 인덱스가 8(Q8)인 경우 각 채널의 비율을 표시한 도면
도 11 내지 도 18은 본 발명의 실시예의 R-D 퍼포먼스를 종래의 DVC 코더와 H.264/AVC 코더와 비교한 결과를 나타낸 도면
도 19는 본 발명에 따른 비디오 인코딩 방법의 일 실시예를 예시한 도면
도 20은 본 발명에 따른 비디오 디코딩 방법의 일 실시예를 예시한 도면
이하 첨부한 도면을 참조하여 본 발명의 일 실시예를 설명한다. 이하에서 제 1 프레임은 일반적으로 WZ(Wyner-Ziv) 프레임을 의미한다. 즉 GOP 구조에서 키프레임이 아닌 인접한 키프레임들을 이용하여 인코딩하는 프레임으로 WZ 인코딩의 대상이 되는 프레임을 의미하지만, 이하의 실시예에서는 채널 상태에 따라 WZ 프레임이 인트라 코딩될 경우에도 해당 WZ 프레임을 제 1 프레임으로 호칭한다.
도 3은 본 발명에 따른 비디오 인코더의 일 실시예와 비디오 디코더의 일 실시예를 예시한 도면이다.
본 발명의 비디오 디코더의 일 실시예는, GOP 구조에 따라 이웃한 키프레임을 이용하여 제 1 프레임에 대한 보조정보프레임을 생성하고, 보조정보프레임을 보간하고 이를 이용하여 제 1 프레임을 복원한다. 여기서 계층적 대칭 모션 추정을 사용하는데 이에 대해서는 추후 상술한다. 비디오 디코더는 신뢰하지 못하는 블록들의 모션 벡터를 개선하고 보조정보프레임의 국지 왜곡을 추정하여 개선한다. 모션 벡터를 개선할 경우 먼저 제 1 프레임의 DC 변환 계수를 이용한다. 인코더의 제 1 프레임(X)과 디코더의 개선된 보조정보 프레임(
Figure 112012042574986-pat00004
)의 차이는 인코더와 디코더 사이의 가상 노이즈 채널의 에러로 추정될 수 있다. 채널 에러를 제거하기 위해 비디오 인코더는 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를, 비디오 디코더로 전송한다.
비디오 인코더/디코더 사이의 채널은 보조정보프레임을 예상 블록 왜곡 정보에 따라 3개로 나뉘고 채널을 결정하는 채널 디시젼 맵을 형성할 수 있다. 채널 정보는 비디오 디코더로부터 비디오 인코더로 피드백 채널을 통해 전송된다. 한편 보조정보프레임의 추정된 국지 왜곡은 채널 모델 특성을 결정하고 채널 코딩부가 효율적으로 채널 인코딩할 수 있는 신드롬 비트에 대한 최소 레잇을 제어하는데 사용될 수 있다.
비디오 인코더에서 WZ 프레임 또는 제 1 프레임(X)는 채널 디시전 맵에 따라 3개의 서브 프레임 Xskip, Xwz, Xintra로 구분될 수 있는데, 이에 따라 이 3개의 서브 프레임은 각각 스킵모드(또는 제 1 모드라 한다), WZ 모드(또는 제 2 모드라 한다), 인트라 모드(또는 제 3 모드라 한다)에서 인코딩된다. 이하에서 제 1 프레임이 인코딩되는 예를 설명하면 다음과 같다.
스킵모드(제 1 모드)에 대한 서브프레임(Xskip)은 신뢰있는 채널인 경우 보조정보프레임을 카피하여 WZ 프레임(X'skip)을 복원한다.
WZ 모드(제 2 모드)에 대한 서브프레임(Xwz)는 신뢰성이 중간 정도인 채널인 경우인데, 이 경우 제 1 프레임이 비트 프레인으로 변환되고 양자화된다. 그리고 채널 디코더로부터 피드백 채널을 통해 전송된 채널 정보로부터 추정된 최소 레잇을 이용하여 양자화된 제 1 프레임의 AC 변환 계수가 채널 노이즈 특성에 따라 LDPCA 인코딩된다.
인트라 모드(제 3 모드)인 경우 서브프레임(Xintra)는 신뢰성 없는 채널의 경우로서, 이 경우 채널 코딩에 신드롬 비트가 매우 많이 필요하기 때문에 제 1 프레임은 키프레임처럼 인트라 코딩된다.
이하에서 본 발명의 실시예에 따른 비디오 인코더와 비디오 디코더 및 그 구성요소의 상세한 동작을 설명하면 다음과 같다.
비디오 인코더의 실시예는, 제 1 인코딩부(100), 제 2 인코딩부(200) 및 프레임제어부(300)를 포함할 수 있다.
제 1 인코딩부(100)는 키프레임(key frame)을 인코딩할 수 있는데 예를 들어 H.264/AVC 인트라 코딩방식에 의해 키프레임을 인코딩하여 출력할 수 있다.
제 2 인코딩부(200)는 키프레임들 사이의 제 1 프레임을 인코딩하여 출력할 수 있다.
하지만 비디오 인코더의 실시예는 이하의 수행과정에 의해 비디오 인코더/디코더 사이의 채널 정보에 따라 제 1 프레임을 인트라 코딩하도록 결정하여 키프레임처럼 인트라 코딩할 수도 있다. 제 1 프레임을 인코딩하는 예를 설명하면 다음과 같다.
제 2 인코딩부(200)는 먼저 입력되는 WZ 프레임을 제 1 프레임으로 하여, 그 제 1 프레임을 DC 변환 계수에 대해서만 채널 인코딩하여 출력한다.
제 2 인코딩부(200)의 DCT부(210)는 제 1 프레임을, 예를 들어 블록 단위로 DCT(discrete cosine transform) 변환을 수행한다. 양자화부(220)는 DCT 변환된 계수들을 특정 양자화 스텝에 따라 양자화하여 출력한다.
예를 들어 제 1 프레임을 4x4 블록 DCT를 사용하여 변환하고 양자화하는데 그런 경우 계수는 16 밴드(0<=b<16)로 구성될 수 있다. 첫 번째 밴드(b=0)은 가장 낮은 프리퀀시 정보를 포함하고 있는 DC 밴드라고 하고, 반면에 나머지 밴드는 AC 밴드라고 한다. 제 1 프레임의 타겟 퀄리티에 따라 각 DCT 밴드 b를 양자화 매트릭스를 사용하여 2Mb 레벨로 양자화할 수 있다.
한편, DC 밴드의 다이나믹 레인지가 [0, 210) 이라면, 각 AC 밴드의 다이나믹 레인지는 추가 정보로 디코더로 전송될 수도 있다. 이때 AC 밴드와 DC 밴드들에 대한 데드 존에 따라 또는 이 데드 존 없이 각각 유니폼 스칼라 양자화(uniform scalar quantizer)를 적용할 수 있다.
채널 코딩부(230)는 양자화된 변환 계수들 중 DC 변환 계수를 채널 코딩하여 출력한다. 이 경우, 채널 코딩부(230)는 비디오 디코더의 채널 디코더(이 예에서는 채널디코딩부(700))로부터 신드롬 비트 출력을 요청받을 수 있다. 여기서는 채널 코딩부(230)가 DC 변환 계수를 LDPCA (low density parity check accumulate) 코딩 방식으로 채널 인코딩하는 예를 개시한다. .
레잇제어부(240)는 비디오 디코더로부터 피드백 채널을 통해 전송된 초기레잇정보(initial rate information)를 수신하고, 초기레잇정보를 이용하여 채널 코딩부(230)가 채널 코딩에 필요한 비트의 최소 레잇(minimum rate) 정보를 결정하여 이를 채널 코딩부(230)로 출력할 수 있다.
이 실시예에서 채널 코딩은 가변 레잇(rate-compatible)에 따른 LDPCA 코드를 사용할 수 있는 Slepian-Wolf coding (SW coder)방식이 사용될 수 있다. LDPCA 코딩은 여러 통신 분야에서 터보 코딩보다 더 효율적인 것으로 알려져 있다. LDPCA 인코더는 LDPCA 신드롬 포머(syndorom former)와 누산기(accumulator)를 포함할 수 있다. 각 비트 플레인에서 신드롬 비트는 modulo 2로 생성되어 누적될 수 있다.
채널 코딩부(230)가 LDPCA 채널 인코더인 경우, 이 누적된 신드롬 비트를 버퍼에 저장하고 초기에 그 일부만을 전송할 수 있다. 이 초기 청크(chunk)가 이론적인 최소 레잇(Rmin)과 대응되는데, 이것은 2개의 연관된 가우시안 소스에 대한 WZ R-D 바운드(bound) 이론에 기초한다. 이 바운드는 최소 레잇 Rmin을 정의하는데 사용될 수 있으며 여기서 제 1 프레임 X는 주어진 왜곡 D로 재구성되고 이는 수학식 1로 나타낼 수 있다.
Figure 112012042574986-pat00005
여기서 σ2는 제 1 프레임과 보조정보프레임 사이의 픽셀 차의 분산이다. 이와 같은 채널 정보를 사용하여 비디오 인코더는 제 1 프레임을 채널 상태에 따라 3개의 서브 프레임으로 구분할 수 있다. 그때 비디오 인코더는 수신한 초기 레잇 정보를 사용하여 제 1 프레임이 제 2 모드(WZ 모드)로 인코딩될 경우에 신드롬 비트를 적응적으로 할당할 수 있다. 이와 같이 적응적으로 신드롬 비트를 할당하도록 하여 초기 신드롬 비트를 요청하는데 필요한 피드백 레이턴시(feedback latency)를 줄일 수 있다.
프레임제어부(300)는 비디오 디코더로부터 비디오 디코더와 비디오 인코더 사이의 채널 정보를 수신하고, 그 채널 정보에 따라 제 1 프레임(Xintra)을 제 1 인코더부(100)로 출력하거나 제 2 인코딩부(200)로 출력하여 제 1 프레임이 키프레임처럼 인트라 코딩되거나 WZ 프레임(Xwz)으로 인코딩되도록 할 수 있다.
따라서, 비디오 인코더의 채널 코딩부(230)는 초기에 제 1 프레임의 DC 신드롬 비트만을 전송했다가, 채널 상태가 제 2 모드(WZ 모드)인 경우, AC 신드롬 비트에 대해서도 적응적으로 채널디코더로 전송할 수 있다.
도 3을 이용하여 본 발명에 따른 비디오 디코더의 일 실시예를 개시하면 다음과 같다. 본 발명의 비디오 디코더의 일 실시예는, 제 1 디코딩부(400), 제 2 디코딩부를 포함할 수 있다. 그리고 제 2 디코딩부는, 보조정보부(500), 채널정보결정부(600), 채널디코딩부(700), 프레임복원부(800)를 포함할 수 있다.
제 1 디코딩부(400)는 채널 인코더가 인트라 코딩하여 출력하는 키프레임을 인트라 디코딩하여 출력(Y')하거나, 채널 인코더가 채널 상태가 인트라 채널 또는 해당 모드가 인트라 모드(제 3 모드)라고 판단한 경우 인트라 코딩하여 출력하는 제 1 프레임을 인트라 디코딩하여 출력(X'intra)할 수 있다.
보조정보부(500)는 키프레임을 보간하여 보조정보프레임을 생성하고, 생성한 보조정보프레임을 채널 상태에 따라 더욱 개선할 수도 있다. 보조정보프레임을 개선할 경우, 프레임 내 포함된 모션벡터를 개선하여 이를 이용할 수 있고, 이 경우 제 1 프레임의 DC 신드롬 비트를 이용할 수 있다.
채널정보결정부(600)는 보조정보부(500)가 출력하는 보조정보를 이용하여 왜곡이 포함되어 있는지 추정하고 이에 따라 디코더와 인코더사이의 채널 상태를 결정하여 인코더로 전송할 수 있다. 채널정보결정부(600)는 비디오 인코더가 채널 상태에 따라 적응적으로 신드롬 비트를 할당할 수 있도록 레잇비트정보를 비디오 인코더로 전송할 수 있다. 위에서 기술한 바와 같이 비디오 인코더의 채널인코더는 이를 이용하에 제 1 프레임의 AC 신드롬 비트도 비디오 디코더로 전송할 수 있다.
채널디코딩부(700)는 채널상태에 대한 정보, 제 1 프레임의 DC 신드롬 비트 및 보조정보프레임의 개선된 정보를 이용하여 제 2 모드(WZ 모드)일 경우 제 1 프레임을 복원할 수 있다. 이때 추가의 신드롬비트가 필요한 경우, 피드백 채널을 이용하여 신드롬 비트를 요청할 수도 있다.
프레임복원부(800)는 제 1 모드인 경우 보조정보부가 생성한 보조정보프레임을 이용하거나, 제 2 모드인 경우 채널 디코딩부가 AC 신드롬 비트로 복원한 정보를 이용하여 보조정보프레임을 복원하거나, 제 3 모드인 경우 인트라 디코딩된 보조정보프레임으로 제 1 프레임을 각각 복원할 수 있다. 이하에서는 본 발명의 실시예에 따른 채널 디코더와 각 구성요소의 동작을 상세히 설명한다.
보조정보부(500)는 보조정보생성부(510) 및 보조정보개선부(520)를 포함할 수 있다. 보조정보생성부(510)는, GOP 구조에 따른 이웃한 키프레임들을 이용하여 보조정보프레임(side information frame)(
Figure 112012042574986-pat00006
)을 생성하여 출력한다. 보조정보개선부(520)는, 보조정보생성부(510)가 출력하는 보조정보프레임 및 채널정보결정부(600)가 출력하는 채널 정보를 이용하여 신뢰성 없는 블록들에 대한 움직임 벡터를 개선하는데 이에 대해서는 이하에서 더욱 상술한다.
채널정보결정부(600)는 왜곡추정부(610), 채널결정부(620) 및 채널모델링부(630)를 포함할 수 있다.
왜곡추정부(610)는 보정정보부(500)가 출력하는 보조정보프레임을 수신하고 보조정보프레임에 포함된 국지적 왜곡을 추정할 수 있다. 왜곡추정부(610)의 상세한 동작은 역시 이하에서 상술한다.
채널 결정부(620)는 왜곡추정부(610)로부터 추정된 왜곡의 정도에 따라 비디오 인코더와 비디오 디코더 사이의 채널 정보를 결정하여 비디오 인코더로 출력할 수 있다.
채널모델링부(630)는 왜곡추정부(610)가 추정하는 왜곡 정보에 따라 채널의 초기 레잇 정보를 생성하여 비디오 인코더로 출력한다.
채널 결정부(620) 및 채널모델링부(630)에 대한 설명은 도 4를 참조하여 상술한다. 채널디코딩부(700)는 비디오 인코더가 채널 인코딩하여 출력하는 제 1 프레임의 DC 변환 계수 또는 AC 변환 계수에 대한 신드롬 비트를 수신하고, 이를 채널 디코딩하여 DC 변환 계수 또는 AC 변환 계수를 복원하여 출력할 수 있다.
먼저 보조정보부(500)를 동작 예를 상세히 설명하면 다음과 같다. 보조정보생성부(510)는 예를 들어 보조정보프레임내에 블록 사이즈 16 × 16, 8 × 8 및 4 × 4 들의 블록들에 대해 계층적으로 대칭적 모션 추정을 수행할 수 있다. 보조정보생성부(510)는 가중된 벡터 미디언 필터(weighted vector median filter)를 사용하여 모션 벡터 필드를 스무딩하고 오류 있는 모션 벡터를 정정한다.
보조정보개선부(520)은 널 디코딩 과정을 통해 제 1 프레임의 DC 변환 계수(
Figure 112012042574986-pat00007
)을 이하여 보조정보프레임의 모션 벡터를 개선하는데, 이때 보조정보프레임은 프리 신드롬 비트를 사용하여 재구성될 수 있다. 왜곡추정부는(610) 보조정보프레임 프레임 내 각 블록의 왜곡을 추정할 수 있다.
도 4는 본 발명의 일 실시예에 따른 보조정보부의 예를 나타낸 도면이다. 도 4를 참조하여 보조정보부의 동작을 예시하면 다음과 같다.
보조정보생성부(510)는 모션추정부(511) 및 모션벡터스무딩부(512)를 포함할 수 있다.
모션추정부(511)는 보조정보프레임에 이웃한 키프레임들(Yp, Yn)을 수신하고 보조정보프레임 내 대칭적 모션 추정(symmetric motion estimation)을 수행한다.
여기서, X를 제 1 프레임이라고 하고, Yp 및 Yn을 이 제 1 프레임에 인접한 키 프레임들을 나타낸다. Yp 및 Yn을 사용하여 비디오 디코더는 보조정보프레임을 생성하는데, 키프레임들을 보간하여 보조정보프레임을 생성하기 위해 각 블록에 대한 포워드 모션 벡터가 절대 차이의 합(sum of absolute difference; SAD)을 최소화하도록 하여 모션 벡터를 추정된다. 그러나 단방향의 모션 추정은 종종 잘못된 결과를 산출할 수 있어서, 이를 해결하기 위해 각 블록(block Ω)에 대한 대칭적 모션 추정에 따른 모션 벡터 (Vs)를 찾고, 포워드 SAD(Sf)과 백워드 SAD(Sb)의 합을 최소화하는 Vs를 찾는다. 이에 대한 설명은 수학식 2에 표현된다.
Figure 112012042574986-pat00008
여기서 Y (p)는 프레임 Y의 픽셀 p의 값을 나타낸다. 수학식 2에 따르면 포워드 SAD(Sf)과 백워드 SAD(Sb)를 사용하여 대칭적 모션 추정에 따른 모션 벡터(Vs)를 더욱 신뢰도 있게 추정할 수 있다.
모션벡터스무딩부(512)는, 보조정보프레임에 이웃한 키프레임들(Yp, Yn)과 모션추정부(511)가 추정한 대칭적 모션 추정에 따른 모션 벡터(Vs)를 수신하고, 이를 이용하여 계층적 모션 벡터 스무딩을 수행한다. 그리고, 모션벡터스무딩부(512)는, 계층적 모션 벡터 스무딩에 따른 모션 벡터(VH)와 그에 따라 보조정보프레임을 개선하여 개선된 보조정보프레임(
Figure 112012042574986-pat00009
)를 출력한다. 이에 대해서는 도 5를 참조하여 상세히 설명한다.
보조정보개선부(520)는, 보조정보프레임에 이웃한 키프레임들(Yp, Yn), 보조정보생성부(510)가 출력하는 계층적 모션 벡터 스무딩에 따른 모션 벡터(VH), 계층적 모션 벡터 스무딩에 따른 모션 벡터(VH)가 반영된 보조정보프레임(
Figure 112012042574986-pat00010
)을 수신한다. 그리고, 채널디코딩부(700)로부터 디코딩된 제 1 프레임의 DC 변환 계수(
Figure 112012042574986-pat00011
)를 수신하여 디코딩하고, 모션 벡터(VH)와 보조정보프레임(
Figure 112012042574986-pat00012
)을 개선하여, 개선된 모션벡터(V*)와 개선된 보조정보프레임(
Figure 112012042574986-pat00013
)를 출력한다. 이에 대해서는 도 6을 참조하여 상세히 설명한다.
도 5는 본 발명의 실시예에 따라 계층적 모션 추정 스무딩의 예를 예시한 도면이다. 설명한 바와 같이 모션추정부(511)는 계층적 모션 추정 스무딩을 적용하여 모션 벡터를 출력할 수 있다.
블록-매칭 모션 추정(block-matching motion estimation)에 따라, 일반적으로 블록 내에 모든 픽셀들은 같은 모션 벡터를 가진다고 가정할 수 있다. 일반적으로 큰 블록에서 모션 벡터는 더 신뢰도가 있을 수 있지만 정확도는 떨어진다. 그러므로 블록의 옵티멀 블록 사이즈(optimal block size)를, 신뢰도와 정확도 사이의 트래이드 오프를 고려하여 결정할 수 있다. 본 발명의 일 실시예에 따르면 예시된 가변 블록 사이즈를 이용하여 계층적 모션 벡터 스무딩을 수행할 수 있다.
예를 들면 생성한 제 1 프레임에 대한 보조정보프레임을 최상위 레벨에서 16 × 16블록들로 나누고, 중간 레벨에서 8×8 블록들, 바닥레벨에서 4×4의 블록들로 각각 나눈다. 본 발명의 실시예에 따른 보조정보생성부(510)의 모션벡터필터부(512)는 계층적 모션 추정(hierarchical mothion vector smoothing)을 다음에 오는 (1) 내지 (4)에 따라 수행할 수 있다.
(1) 제 1 프레임의 보조정보프레임에 대한 대칭적 모션 추정에 따른 모션 벡터를 최상위 레벨에서 얻는다.
(2)중간 레벨에서 이를 개선하기 위해, 이 모션 벡터는 최상위 레벨로부터 중간 레벨에서 물려받는데, 이때 중간 레벨의 모션 벡터는 모션 벡터 스무딩 스킴(motion vector smoothing scheme)에 의해 개선된다. 이렇게 각각 개선된 모션 벡터 VH는 수학식 3에 따라 얻어질 수 있다.
Figure 112012042574986-pat00014
여기서 V0는 현재 블록들에 대한 모션 벡터들이고, 도 5에서 예시한 바와 같이 V1,...,V l 은 이웃한 블록들의 모션 벡터들이다. 모션벡터스무딩부(512)는, VH가 이웃하는 모션 벡터들로부터 가중값에 따른 거리를 최소화할 수 있도록 선택할 수 있다. 이때 가중값은 수학식 4에 따라 얻어질 수 있다.
Figure 112012042574986-pat00015
수학식 3 및 수학식 4에 따라 모션벡터스무딩부(512)는, 모션추정부(511)가 대칭적 모션 추정에 따른 모션 벡터(Vs)를 필터링하고 스무딩한 모션 벡터(VH)를 출력할 수 있다.
(3)중간 레벨에서 모션벡터가 최상위 레벨에서 대응하는 모션벡터와 다르다면 바닥 레벨에서 (2)와 유사한 방식으로 모션 벡터가 추가적으로 개선될 수 있다.
(4)그리고 모션 보상된 보간이 수학식 5에 따라 수행될 수 있다.
Figure 112012042574986-pat00016
여기서
Figure 112012042574986-pat00017
는 v가 모션 벡터일 때 보조정보프레임(
Figure 112012042574986-pat00018
) 내의 픽셀 p의 값을 나타낸다. 따라서, 모션벡터스무딩부(512)는 키프레임들(Yp, Yn), 계층적 스무딩을 수행한 모션 벡터(VH)로부터 보조정보프레임(
Figure 112012042574986-pat00019
)를 생성할 수 있다.
도 5에서 가장 좌측은 최상위레벨의 모션 벡터들이 표시된다. 이 최상위 레벨의 모션 벡터가 모션 벡터 스무딩을 위해 계층적으로 하위레벨(여기서는 중간레벨)에서 표시될 수 있다. 도 5의 가장 우측 상단은 상위 레벨의 블록에서 벡터 스무딩에 따라 중간 레벨의 블록으로 내려온 모션 벡터를 나타내고, 그 아래는 수학식 3, 4에 따라 이웃한 블록의 모션 벡터로 상위 레벨로부터 전달된 모션 벡터를 개선한 벡터(굵은 박스 안에 표시)을 나타낸다.
도 6은 본 발명의 일 실시예에 따라 보조정보개선부(520)가 모션 벡터를 개선하는 예를 설명하기 위해 예시한 도면으로, 여기서는 양방향 매칭 코스트와 사이드 매칭 코스트를 예시한다. 도 6을 참조하여 보조정보개선부(520)가 보조정보 및 모션 벡터를 개선하는 예를 설명하면 다음과 같다.
비디오 인코더는 제 1 프레임 내 모든 블록의 DC 변환 계수에 대한 신드롬 비트를 전송한다. 전송된 신드롬 비트들을 사용하여 비디오 디코더는 DC 변환 계수를 디코딩하여 재구성하고,이 재구성된 DC 변환 계수를 이용하여 모션 벡터를 정정할 수 있다.
Figure 112012042574986-pat00020
를, 블록(block) Ω에서 채널 인코더에서 전송된 DC 변환 계수의 신드롬 비트에서 복원한 DC 변환 계수라고 하고, 계층적으로 모션이 보상된 보조정보프레임(
Figure 112012042574986-pat00021
)내에 이에 해당하는 블록의 DC 변환 계수를
Figure 112012042574986-pat00022
라고 표시한다.
Figure 112012042574986-pat00023
Figure 112012042574986-pat00024
의 차이가 일정 기준값보다 크면 보조정보개선부(520)는 모션 벡터를 수학식 6에 의해 개선한다.
Figure 112012042574986-pat00025
Figure 112012042574986-pat00026
Figure 112012042574986-pat00027
수학식 6의 구성요소는 수학식 7, 8와 같이 정의된다.
여기서
Figure 112012042574986-pat00028
은 픽셀 p로부터 블록 Ω의 이웃한 블록까지 가장 가까운 거리이고,
Figure 112012042574986-pat00029
(dp, VH)는 수학식 3에 따른 모션 벡터 VH 를 포함한 보조정보프레임을 나타낸다.
수학식 7에서 D1(v)는 양방향 매칭 코스트라고 호칭한다. 도 6에서 예시한 바와 같이 블록 Ω는 이전 프레임(Yp)와 다음 프레임(Yn) 사이의 일정 속도를 유지한다고 하면, 포워드 예측 블록(forward predictive block)과 백워드 예측 블록(backward predictive block)은 서로 유사해야 한다. 즉, 양방향 매칭 코스트는 두 예측 블록 사이의 SAD를 계산하여 모션 벡터의 신뢰도를 나타낼 수 있다.
한편 수학식 8의 D2(v)는 사이드 매칭 코스트라고 호칭한다. 이 값은 도 6에서 예시한 바와 같이 보간된 블록이 이웃한 블록에 얼마나 시각적으로 자연스럽게, 즉 얼마나 스무딩하게 연결되었나를 나타낸다.
이와 같이 보조정보개선부(520)는 수학식 7 및 수학식 8에 따라 양방향 매칭 코스트와 사이드 매칭 코스트를 이용하여 모션 벡터를 정정할 수 있고, 정정된 모션 벡터를 포함한 보조정보프레임(X을 출력할 수 있다.
위의 실시예에서는, 최상위 레벨(예를 들어 16 × 16 블록레벨)에서 각각 대칭적 모션 벡터(Vs)를 추정하고, 그리고, 중간 레벨(8 × 8 블록레벨) 및/또는 최하위레벨(4 × 4 블록레벨)에서 계층적으로 스무딩하여 개선할 수 있다(VH). 그리고, 계층적으로 모션 벡터를 스무딩한 벡터(VH)가 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트에 따른 조건을 만족시키지 않는 경우, 수학식 5에 따른 모션 보상된 보정을 사용하여 각 픽셀
Figure 112012042574986-pat00030
(p, V*)를 보간할 수 있다. 이와 같은 과정에 따라서 보조정보부(500)는 최종 보조정보프레임을 생성하고 개선할 수 있다.
이하에서는 채널정보결정부(600)의 왜곡추정부(610)가 블록에 포함된 왜곡을 추정하는 예를 개시한다. 본 발명의 일 실시예에서는 키프레임에 기초하여 왜곡을 추정하거나 신드롬을 기초로 하여 왜곡을 추정하거나 두 개의 추정을 모두 이용할 수도 있다. 본 발명의 실실시예에 따른 비디오 디코더는 보조정보부(500)가 출력하는 보조정보프레임(
Figure 112012042574986-pat00031
)의 각 블록의 왜곡을 추정하고, 채널 결정시 이 정보를 이용하도록 할 수 있다. 이를 위해, 비디오 디코더는 추정된 왜곡 D를 수학식 9와 같이 정의하여 계산한다.
Figure 112012042574986-pat00032
여기서 Dk와 Ds는 키프레임에 기초한 왜곡추정과, 신드롬에 기초한 왜곡추정을 각각 나타낸다. 가중치 파라미터 ω는 실험값이 사용될 수 있는데 예를 들어 0.2로 설정될 수 있다.
먼저 키프레임에 기초하여 블록의 왜곡을 추정하는 예를 개시하면 다음과 같다. 키프레임에 기초한 왜곡은 수학식 10의 3개의 항의 합으로 표현될 수 있다.
Figure 112012042574986-pat00033
여기서, v*는 현재 블록의 모션 벡터이고, D1과 D2는 각각 수학식 7과 수학식 8에서 예시한 양방향 매칭 코스트와 사이드 매칭 코스트가 될 수 있다. 양방향 코스트의 효과의 절반과, 수학식 11에서 예시된 바와 같이 모션 컨시스턴시 코스트(motion consistency cost) D3를 더할 수 있다.
Figure 112012042574986-pat00034
여기서, V1, ..., V l 은 이웃한 블록들의 모션 벡터들을 나타낸다. 모션 컨시스턴시 코스트는, 신뢰도 있는 모션 벡터가 그 이웃하는 모션 벡터와 최소한 유사해야 한다는 가정에 기초한 것이다.
다음으로 신드롬 비트에 기초하여 블록의 왜곡 추정하는 예를 설명하면 다음과 같다. 수학식 10에서 신드롬에 기초한 왜곡 추정을 구성하는 3개의 항이 모션 필드의 규칙성에 의존할 수 있다. 따라서, 비디오 시퀀스가 불규칙한 모션 필드를 가지고 있을 때, 내부 추정은 불규칙한 정보를 포함할 수 있다. 이 문제를 해결하기 위해, 외부추정도 계산할 수 있고 이를 위해 DC 변환 계수의 신드롬 비트를 이용할 수 있다. 더 상세히 설명하면, 외부의 왜곡 추정은 보간 블록과 복호된 DC 변환 계수 값 사이의 차이로 정의할 수 있는데 수학식 12는 이를 나타낸다.
Figure 112012042574986-pat00035
보간이 신뢰성 있을 때 픽셀 값들,
Figure 112012042574986-pat00036
블록의 평균값을 나타내는
Figure 112012042574986-pat00037
근처에 집중된다. 그러므로 DS는 신뢰성 있는 보간에 대해서는 작은 값을 가질 수 있다. 반대로 보간이 신뢰성 있지 않고 블록이 복잡한 텍스쳐를 포함할 때 DS는 더 큰 경향을 갖는다고 할 수 있다.
다음으로 본 발명의 실시예에 따른 채널정보결정부(600)의 채널결정부(620)와 채널모델링부(630)의 실시예를 설명하면 다음과 같다. 분산 비디오 코딩(distributed video coding) 시스템은 수학식 13과 같은 가상 노이지 채널을 가정한다.
Figure 112012042574986-pat00038
여기서 N은 채널의 보간 에러를 표현하는 랜덤 변수를 나타낸다. 분산 비디오 코딩 시스템의 비디오 인코더 측에서 정확한 노이즈 채널 분산을 추정할 수는 없다. 따라서 신드롬 비트는 피드백 채널에 의해 최소 비트 레잇으로 비디오 디코더에 전송된다. 이러한 접근은 먼저 SW 인코딩된 데이터에 대해 요구되는 최소 레잇을 추정하는 방법에 기초한 것이다. 이 채널 추정은, 라플라시안 연관 모델과 그 확률 밀도 함수(probability density function; PDF)만을 사용하여 아래와 같은 수학식 14으로 표현할 수 있다.
Figure 112012042574986-pat00039
여기서, α는 라플라시안 분포의 스케일 파라미터를 나타낸다. 그때 비디오 디코더는 SW 디코더의 출력에서 계산된 확률, 예를 들어 LR(likelyhood ratio)값으로부터 각 디코딩된 비트 플레인에서 비트 에러 레잇(bit error rate; BER)을 추정할 수 있다. 이를 추정해보면 전체 보조정보프레임의 DC 변환 계수만을 LDPCA 디코딩하는 알고리즘을 적용할 수 있다. 다른 왜곡 추정이 없다면, 채널디코딩부(700)에서 α는 일정한 값 예를 들면 0.4로 DC 변환 계수를 디코딩하고, 추가 신드롬 비트를 얻기 위해 ack 비트 요청(feedback Ack)을 비디오 인코더로 전송할 수도 있다.
하지만, 보조정보프레임의 나머지 AC 변환 계수를 디코딩할 때 위의 스킴은 개선될 수 있는데 이를 위한 실시예를 설명하면 다음과 같다. 정확한 노이지 채널 분포를 추정한다면, 각각 3개로 구분된 채널에 대해 적응적인 코딩을 수행하여 R-D 퍼포먼스를 증가시킬 수 있다.
개시되는 왜곡 추정은 이하의 도 7에서 보인 바와 같이 디코딩된 DC변환 계수가 가이드 정보로 역할할 수 있어서 매우 신뢰성이 있다. 왜곡 추정과 평균 절대 채널 왜곡 사이 연관 계수는 매우 높은데, 예를 들어 0.92 정도의 값을 가질 수 있다.
따라서, 왜곡 추정에 기초하여 보조정보프레임 내에 블록들을
Figure 112012042574986-pat00040
,
Figure 112012042574986-pat00041
,
Figure 112012042574986-pat00042
개의 서브 블록을 나눌 수 있거나 또는 이에 상응하여 가상 채널을 3 개의 채널들로 나눌 수 있다. 아래의 표 1와 같이 예시된 2개의 기준값(threshold)을 추정 왜곡 D와 비교하여 블록을 3개의 채널 중 하나의 채널로 할당할 수 있다.
Figure 112012042574986-pat00043
표 1에서 스킵 모드에 대한 기준값 θ1과 인트라 모드에 대한 기준값 θ2는 제 1 프레임의 양자화 테이블 인덱스(Q)에 따라 선택될 수 있다. 나뉘어진 3개의 채널에 대한 근거는 다음과 같다.
먼저, 스캡 채널은 보조정보프레임에서 그 추정 값을 θ1의 값보다 작은 경우 충분히 신뢰성 있는 채널로 어떤 비트로 할당하지 않을 수 있다. 시간적으로 잘 연관된 블록은 매우 높은 신뢰도로 보간될 수 있고, 그 자체적으로 보간 블록이 된다. 이 스킵 채널은 신드롬 비트를 줄이고 복잡성을 상당히 줄임으로써 시스템의 성능을 높일 수 있다.
둘째 WZ 채널은 상대적으로 중간 정도의 에러를 포함한 블록에 관련된 것으로서, 그 추정값은 θ1과 θ2 의 사이가 된다. 이 왜곡 추정을 이용하여 WZ 채널의 노이즈 특성을 분석할 수 있다. 그리고 분석한 노이즈 특성에 따라 적응적인 LDPCA 코딩을 사용하여 보조정보 등을 생성할 수 있다.
마지막으로, 인트라 채널은 H.264 인트라 코딩과 같이 매우 에러가 많은 블록을 복원하기 위해 사용되는데 그 왜곡 추정값은 θ2 이상으로 할 수 있다. 에러의 양이 20%를 넘는 경우 채널 코드의 효율성은 상당히 성능이 감소한다. 따라서, 가장 노이즈가 많은 블록들은 코덱의 다른 부분을 이용하여 독립적으로 인코딩/디코딩되는 것이 바람직하다.
WZ 채널에 대해, 신뢰도 있는 왜곡 추정으로 정확한 α 파라미터를 이용하여 코딩 효율을 향상시킬 수 있다. α 파라미터를 사용하면, 피드백 채널을 이용하여 조금 더 신뢰성 있는 최소 레잇을 예측할 수 있다. 피드백 지연은 피드백 요청을 최소화함으로써 최소화시킬 수 있다. 수학식 13에서 WZ 채널의 노이즈 특성(Nwz)은 수학식 14의 라플라시안 분로로 모델링될 수 있다., 파라미터 αwz는 수학식 15와 같은 랜덤변수(Nwz)의 절대값의 평균의 역수이다.
Figure 112012042574986-pat00044
도 7은 채널 i에서 블록 평균 왜곡 지수E[|Di|]와 평균 절대 채널 에러 E[|Ni|]의 관계를 예시한 도면이다.
도 7에서 채널 i 상에서 블록 평균 왜곡 지수E[|Di|]는 평균 절대 채널 에러 E[|Ni|]와 선형적으로 비례하는 것을 보여준다. 따라서, 수학식 16과 같이 WZ 채널에 대한 데이터를 예시한 선형 라인에 일치시킬 수 있다.
Figure 112012042574986-pat00045
여기서 γ는 최소 자승법을 이용하여 실험적으로 구할 수 있는데 본 실험결과에서는 -0.81로 셋팅하였다. 그때 수학식 15와 16으로부터, 수학식 17을 얻을 수 있다.
Figure 112012042574986-pat00046
따라서, 수학식 17에서 파라미터 αwz를 가진 라플라시안 PDF로 WZ 채널 상의 노이즈를 모델링 할 수 있고, 채널 모델은 유효한 LDPCA 코드를 선택하는데 적용될 수 있다.
위 파라미터 αwz를 사용하면 WZ 채널 상의 초기 신드롬 비트에 대한 양을 계산할 수 있다. 여기에 reverse water-filling 이론을 적용하여 채널에 대한 초기 레잇을 얻을 수 있는데 이를 수학식 18에서 나타내었다.
Figure 112012042574986-pat00047
여기서
Figure 112012042574986-pat00048
이고,
Dwz는 수학식 19로 표현할 수 있다.
Figure 112012042574986-pat00049
따라서, 비디오 디코더는 수학식 18에 따른 레잇 정보와 피드백 채널의 통해 각 블록의 채널 정보를 인코더로 보낼 수 있다. 예를 들어 최소 레잇 추정을 위해 프레임당 4비트 정도의 비트 레잇이 필요하고, 채널 식별을 위해 log 3 bits/블록의 비트 레잇이 필요하다.
이하에서는 프레임복원부(700)의 동작을 예시한다.
제 1 프레임은 X'skip, X'wz, X'intra 3개 채널의 모든 디코딩 서브프레임의 포함하여 복원될 수 있는데 이를 상세하게 설명하면 다음과 같다.
스킵 채널에 대해 디코더에서 생성한 제 1 프레임인 X'skip는 수학식 5에서 나타낸 바와 같이 키프레임 Yp 및 Yn의 보조 정보 프레임
Figure 112012042574986-pat00050
부터 얻을 수 있다.
반면에 WZ 채널에 디코더에서 생성한 제 1 프레임인 X'wz는 역양자화 의해 조금 더 보완될 수 있다.
Figure 112012042574986-pat00051
를 보조정보프레임 X^의 i번째 밴드의 DCT 계수라고 하고,
Figure 112012042574986-pat00052
를 신드롬 비트로부터 LDPCA 디코딩된 해당 DCT 계수라고 표시한다. 그러면 수학식 20과 같이 변경된 DCT 계수 X'(i)를 나타낼 수 있다.
Figure 112012042574986-pat00053
여기서 Δ는 DCT 계수에 대한 양자화 스텝 사이즈를 나타내고, X'wz는 X'wz(i)의 역 DCT 에 의해 얻을 수 있다. X'intra는 예를 들어 H.264 인트라 코더를 사용하여 X intra로부터 코딩될 수 있다.
이하에서 본 발명의 실시예에 따른 실험결과를 설명한다. 먼저 테스트 조건을 설명하고, 보조정보 생성 방법의 성능에 대해서 평가하고, 채널 구분 결과와 R-D 성능에 대해 평가한다. 마지막으로 제안된 알고리즘의 코덱 안정성과 복잡도에 대해 설명한다.
먼저 테스트 조건을 설명하면 다음과 같다.
도 8은 8개의 테스트 시퀀스의 샘플 프레임을 나타내는데, 각각 샘플 프레임을 Football (FB), Soccer (SC), Foreman (FM), Costguard (CG), Hall Monitor (HM), Mother & Daughter (MD), News (NS), 및 Akiyo (AK)로 호칭하고 괄호 안의 2개의 대문자로 각각 표시한다. 각 시퀀스는 300개의 프레임을 포함하고, Football은 250개의 프레임을 포함한다.
2개 타입의 공간 분해능을 적용하였는데, 각각 QCIF(quarter common intermediate format) 및 CIF(common intermediate format)이다. 프레임 레잇은 초당 30프레임(fps)으로 하였고, 보조정보 생성에 대해 제 1 프레임은 가변 사이즈의 블록들(s×s)로 나뉘도록 하였으며 s는 16, 8, 4 등이 될 수 있도록 하였다.
각 블록의 모션 벡터는 하프 픽셀(half pixel)의 정확도로 [-16, 16] × [-16, 16] 서치 범위 내에서 찾도록 하였다. 양자화 테이블은 다른 화질로 제 1 프레임을 양자화시키도록 하였는데, 키프레임을 인코딩하는데 양자화 파라미트(QP)는 18과 43 사이에서 제어되도록 하였고, 이것은 제 1 프레임과 키프레임의 왜곡 정도를 같도록 할 수 있다.
표 2는 양자화 테이블 인덱스와 양자화 파라미터의 관계를 예시한다.
Figure 112012042574986-pat00054
실험 결과에 따라 본 발명의 일 실시예에 따른 보조 정보의 신뢰도에 대해 설명하면 다음과 같다.
도 9는 Q4와 Q8 에서 149 개의 제 1 프레임에 대한 평균 PSNR (Peak Signal to Noise Ratio)값을 나타낸 리스트이다.
이 실험에서 GOP 사이즈는 2로 설정되었고, 키 프레임은 표 2의 양자화 파라미터에 따라 H.264/AVC인트라 코더에 의해 인코딩하였다. 종래의 직접 예측 알고리즘(Direct로 표시)과 종래의 스무딩 알고리즘(Smoothing으로 표시)에 의해 얻어진 보조 정보 생성 결과를, 본 발명의 실시예에 따른 두 가지 방법 예와 비교할 수 있다. 즉 여기서 두 가지 방법 예는 모모션벡터스무딩부가 수행하는 계층적 모션 벡터 스무딩 방식(Hierarchical MV smoothing)과 보조정보개선부가 수행하는 모션 벡터 정정(MV correcting)으로 나타내었다.
본 발명의 일 실시예에 따른 보조정보 생성방법이 빠른 모션을 가진 복잡한 프레임에서 특히 기존의 알고리즘 보다 좋은 성능을 가지고 있다는 것을 보여준다.
예를 들어, Q8에서 Soccer QCIF 시퀀스에 대해 제안된 알고리즘은 각각 직접 예측 알고리즘 및 스무딩 알고리즘 보다 평균 PSNR 가 3.99 dB 및 3.33 dB 더 높다는 것을 알 수 있다.
Δ는 계층적 모션 벡터 스무딩된 보조정보프레임과
Figure 112012042574986-pat00055
와 모션 벡터가 정정된 보조정보프레임
Figure 112012042574986-pat00056
사이의 차이를 나타낸다. 본 실시예에 따른 모션 벡터 정정 알고리즘은 Soccer와 Football에서 매우 향상된 성능을 보여주었다. 이는 Soccer와 Football들이 다른 6 개의 시퀀스보다 더 다이나믹한 모션 활동을 포함하기 때문이다. 즉, 보조정보프레임을 더 정확하게 추정함으로써. 본 발명의 실시예는 제 1 프레임에 대한 신드롬 비트의 양을 줄일 수 있고, R-D 성능을 향상시킬 수 있다.
이하에서는 채널 정보를 구분하고 모델링한 결과를 예시한다.
도 10은 8개의 QCIF 테스트 시퀀스에 대해 양자화 인덱스가 8(Q8)인 경우 각 채널의 비율을 표시한 도면이다. 녹색은 스킵 모드(채널), 붉은 색은 WZ 모드(채널), 파란색은 인트라 모드(채널)을 각각 나타낸다. Football과 Soccer의 테스트 시퀀스에 대해서는 3개의 채널이 상대적으로 고루 분포한다.
하지만, Hall Monitor, Mother & Daughter, News 및 Akiyo 테스트 시퀀스에서는 매우 적은 인트라 모드(채널)들이 분포하고 있는데 이는 대부분 정적 모션을 가지고 있기 때문이다.
도 11 내지 도 18은 본 발명의 실시예(proposed CDV-DVC로 표시)의 R-D 퍼포먼스를 종래의 DVC 코더와 H.264/AVC 코더와 비교한 결과를 나타낸다. 상세히 설명하면 도 11은 QCIF 타입의 Soccer와 Formam 시퀀스, 도 12는 QCIF 타입의 Football 및 Coastguard 시퀀스를, 도 13은 QCIF 타입의Hall Monitor 및 Akiyo 시퀀스를, 도 14는 QCIF 타입의 Mother & daughter 및 News 시퀀스에 대한 테스트 비교 결과를 나타낸다.
그리고, 도 15는 CIF 타입의 Soccer와 Formam 시퀀스, 도 16은 CIF 타입의 Football 및 Coastguard 시퀀스, 도 17은 CIF 타입의 Hall Monitor 및 Akiyo 시퀀스, 도 18은 QCIF 타입의 Mother & daughter 및 News 시퀀스에 대한 테스트 비교 결과를 각각 나타낸다.
테스트 결과의 비교를 위해 모션이 없는 H.264/AVC 인터 프레임 코더는 I-B-I-B의 GOP 구조를 가진 픽쳐들로 테스트하였다.
도 11 내지 도 18은 DVC 알고리즘에 QCIF 타입에 포함하는 8개의 시퀀스에 적용한 결과를 나타낸다. 종래 DVC 코더와 비교하면 본 발명에 따른 실시예는 Soccer와 Football 테스트 시퀀스에서 QCIF에서 1.5dB까지, CIF 타입에서 3.4dB까지 PSNR을 향상시킨다. 제안된 알고리즘은 이들 시퀀스에서 다이나믹하고 불규칙한 모션 블록들을 비효율적인 채널 디코딩 없이 인트라 모드 채널에 할당한다. 반면 본 발명의 실시예는 4개의 테스트 시퀀스(Monitor, Mother & Daughter, News, 및 Akiyo)에 R-D 성능을 매우 향상시킨다.
채널 구분 스킴에 기초하여 정적이고 규칙적임 모션 블록은 스킵 모드에 비트를 할당시키지 않는데, 이것이 비트 레잇을 전체적으로 줄인다. 그러나 Foreman과 Costguard 시퀀스에서 본 발명의 실시예는 상대적으로 적은 코딩 게인을 보이는데 이는 종래 DVC 알고리즘과 비교하여 보조정보의 특성에 따라 적응적으로 비트를 할당시키켜 코딩 게인을 얻는다.
이하에서는 본 발명의 실시예(CDV-DVC로 표시)에 따른 코딩 안정성 및 복잡성 테스트에 대해 설명한다.
표 3은 복원된 제 1 프레임 (WZ 프레임)과 평균 키프레임 PSNR을 비교한 결과이다. 이들 프레임은 제 2 인코딩부와 제 1 인코딩부를 포함하는 두 개의 다른 압축코덱시스템에 의해 독립적으로 코딩/디코딩될 수 있어서 중요하다. 이 본 발명의 실시예에서 평균 차는 0.33dB보다 적었는데 Hall Monitor 및 Akiyo 시퀀스에서는 약간의 차이가 있을 수 있으나 채널 파라미터를 변경하면 역시 적용 가능한다.
Figure 112012042574986-pat00057
Figure 112012042574986-pat00058
도 19는 본 발명에 따른 비디오 인코딩 방법의 일 실시예를 예시한 도면이다.
먼저, 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩한다(S100).
그리고, 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력한다(S200). 본 발명의 실시예에 따르면 제 1 프레임을 DCT 변환하고, DCT 변환된 제 1 프레임을 양자화한다. 그리고, 양자화된 제 1 프레임을 LDPCA 인코딩하여 DC 변환 계수의 신드롬 비트를 출력할 수 있다.
비디오 디코더로부터 채널 정보를 수신하고, 채널 정보에 따라 선택적으로 제 1 프레임의 양자화된 AC 변환 계수를 채널 인코딩하거나, 제 1 프레임을 인트라 코딩한다(S300). 이때 비디오 디코더로부터 제 1 프레임의 AC 변환 계수를 인코딩할 경우 필요한 비트 레잇 정보를 이용할 수 있다.
도 20은 본 발명에 따른 비디오 디코딩 방법의 일 실시예를 예시한 도면이다.
먼저 비디오 시퀀스의 키프레임들을 인트라 디코딩한다(S400).
키프레임들을 보간하여 보조 정보를 생성한다(S500).
보조정보 생성시에 키프레임들에 포함된 블록들로부터 시간적으로 양방향인 대칭 모션 벡터들의 절대값의 합이 최소로 되는 대칭 모션 벡터 및 대칭 모션 벡터를 포함하는 보조 정보를 생성할 수 있다. 이 과정은 수학식 2에 개시된다.
이때 생성한 보조정보를 위에서 예시한 방법에 따라 개선될 수 있다. 대칭 모션 벡터를, 상기 제 1 프레임의 블록 크기에 따라 계층적으로 스무딩한 계층적 모션 벡터를 포함하도록 모션 벡터를 스무딩할 수 있는데, 이 예는 수학식 3에 예시되었다.
또한, 이렇게 스무딩된 보조 정보를 계층적 모션 벡터를 이용하여 개선한 보조 정보의 DC 계수와 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트를 이용하여 개선할 수 있다. 이 예는 수학식 6에 예시되었다.
비디오 시퀀스의 제 1 프레임의 DC 변환 계수의 채널 인코딩한 신드롬 비트를 수신하여 채널 디코딩한다(S600).
보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 생성하여 출력한다(S700).
채널 정보는, 키프레임들과 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트에 기초하여 상기 보조 정보의 각 블록의 왜곡을 추정할 수 있다. 수학식 9에 예시되었다. 추정된 왜곡에 따라 채널 정보를 제 1 모드, 제 2 모드 및 제 3 모드로 나눌 수 있다.
채널 모드를 나누는 예는 표 1를 참조한 설명에 개시하였다.
채널 정보가, 제 1 모드인 경우 보조 정보를 이용하여 제 1 프레임으로 복원하고, 제 2 모드인 경우 보조 정보와 제 1 프레임의 AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩한 데이터를 이용하여 제 1 프레임을 복원하고, 제 3 모드일 경우 인트라 코딩된 제 1 프레임을 인트라 디코딩하여 제 1 프레임을 복원한다(S800). AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩하기 위해 인코더에서 필요한 레잇 정보를 생성하는 예는 수학식 18에 예시하였다.
따라서, 본 발명의 실시예에 따르면, 분산비디오코딩(DVC)의 율 왜곡 성능을 높일 수 있고, 신뢰성 있는 채널을 식별하여 비디오 디코딩을 수행할 수 있다. 또한, 본 발명의 실시예에 따르면 비디오 디코딩에 롱 레이턴시(long latency)를 줄일 수 있고, 분산비디오코딩 시스템에서 보조정보프레임의 정확하게 생성하고 개선할 수 있다.
100: 제 1 인코딩부,
200: 제 2 인코딩부
210: DCT 부
230: 채널코딩부
300: 프레임제어부
400: 제 1 디코딩부
500: 보조정보부
510: 보조정보생성부
511: 모션추정부
512: 모션벡터스무딩부
520: 보조정보개선부
600: 채널정보결정부
610: 왜곡추정부
620: 채널결정부
630: 채널모델링부
700: 채널디코딩부
800: 프레임복원부

Claims (14)

  1. 비디오 시퀀스를 인코딩하는 비디오 인코더에 있어서,
    상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력하고, 상기 비디오 인코더와 비디오 디코더 사이의 채널 정보에 따라 상기 제 1 프레임의 양자화된 AC 변환 계수를 선택적으로 채널 인코딩하하는 제 1 인코딩부;
    상기 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩(intra coding)하는 제 2 인코딩부; 및
    상기 채널 정보에 따라 상기 제 1 프레임을 제 2 인코딩부로 출력하거나, 상기 제 1 프레임을 상기 제 1 인코딩부로 출력하는 프레임제어부;를 포함하는 비디오 인코더.
  2. 제 1 항에 있어서,
    상기 제 1 인코딩부는,
    상기 제 1 프레임의 DCT(discrete cosine transform) 변환하는 DCT부;
    상기 DCT 변환된 제 1 프레임을 양자화하는 양자화부; 및
    상기 양자화된 제 1 프레임을 LDPCA (low density parity check accumulate) 인코딩하는 채널인코딩부를 포함하는 비디오 인코더.
  3. 제 2항에 있어서,
    상기 제 1 인코딩부는,
    상기 비디오 디코더로부터 상기 채널인코딩부가 상기 제 1 프레임의 AC 변환 계수를 인코딩할 경우 필요한 비트 레잇 정보를 출력하는 레잇제어부를 더 포함하는 비디오 인코더.
  4. 제 2항에 있어서,
    상기 채널인코딩부는, 상기 비트 레잇 정보를 이용하여 상기 AC 변환 계수를 채널 인코딩하는 비디오 인코더.
  5. 비디오 시퀀스의 키프레임(key frame)들을 인트라 코딩(intra coding)하는 제 1 디코딩부; 및
    상기 키프레임들을 보간하여 보조 정보를 생성하고, 상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수의 채널 인코딩한 신드롬 비트를 수신하여 채널 디코딩하고, 상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 생성하여 출력하고,
    상기 채널 정보가, 제 1 모드인 경우 상기 보조 정보를 이용하여 상기 제 1 프레임으로 복원하고, 제 2 모드인 경우 상기 보조 정보와 상기 제 1 프레임의 AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩한 데이터를 이용하여 상기 제 1 프레임을 복원하고, 제 3 모드일 경우 인트라 코딩된 상기 제 1 프레임을 인트라 디코딩하여 상기 제 1 프레임을 복원하는 제 2 디코딩부;를 포함하는 비디오 디코더.
  6. 제 5항에 있어서,
    상기 제 2 디코딩부는,
    상기 키프레임들을 보간하여 보조 정보를 생성하고, 상기 생성된 보조 정보를 선택적으로 개선하는 보조정보부;
    상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트 또는 상기 제 1 프레임의 AC 변환 계수에 대한 신드롬 비트를 이용하여 각각 상기 DC 변환 계수 또는 상기 AC 변환 계수를 복원하는 채널디코딩부; 및
    상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 출력하는 채널정보결정부를 포함하는 비디오 디코더.
  7. 제 6항에 있어서,
    상기 보조정보부는 상기 보조 정보를 생성하는 보조정보생성부; 및
    상기 생성된 보조 정보를 개선하는 보조정보개선부를 포함하는 비디오 디코더.
  8. 제 7항에 있어서,
    상기 보조정보생성부는,
    상기 키프레임들에 포함된 블록들로부터 시간적으로 양방향인 대칭 모션 벡터들의 절대값의 합이 최소로 되는 대칭 모션 벡터 및 상기 대칭 모션 벡터를 포함하는 보조 정보를 생성하는 모션추정부를 포함하는 비디오 디코더.
  9. 제 8항에 있어서,
    상기 보조정보생성부는,
    상기 대칭 모션 벡터를, 상기 제 1 프레임의 블록 크기에 따라 계층적으로 스무딩한 계층적 모션 벡터를 포함하도록 상기 대칭 모션 벡터를 스무딩하는 모션벡터스무딩부를 더 포함하는 비디오 디코더.
  10. 제 9항에 있어서,
    상기 보조정보개선부는,
    상기 보조 정보를 상기 계층적 모션 벡터를 이용하여 개선한 보조 정보의 DC 계수와 상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트를 이용하여 상기 보조 정보를 개선하는 비디오 디코더.
  11. 제 6항에 있어서,
    상기 채널정보결정부는,
    상기 키프레임들과 상기 제 1 프레임의 DC 변환 계수에 대한 신드롬 비트에 기초하여 상기 보조 정보의 각 블록의 왜곡을 추정하는 왜곡추정부; 및
    상기 추정된 왜곡에 따라 상기 채널 정보를 상기 제 1 모드, 상기 제 2 모드 및 상기 제 3 모드로 나누는 채널결정부를 포함하는 비디오 디코더.
  12. 제 11항에 있어서,
    상기 채널정보결정부는,
    상기 추정된 왜곡을 이용하여 상기 채널 정보가 상기 제 2 모드인 경우, 상기 AC 변환 계수를 채널 인코딩하기 위해 필요한 비트 정보를 출력하는 비디오 디코더.
  13. 비디오 시퀀스의 키프레임(key frame)을 인트라 코딩하는 단계;
    상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수를 채널 인코딩하여 생성된 신드롬 비트를 출력하는 단계; 및
    비디오 디코더로부터 채널 정보를 수신하고, 상기 채널 정보에 따라 선택적으로 상기 제 1 프레임의 양자화된 AC 변환 계수를 채널 인코딩하거나, 상기 제 1 프레임을 인트라 코딩하는 단계를 포함하는 비디오 인코딩 방법.
  14. 비디오 시퀀스의 키프레임들을 인트라 디코딩하는 단계;
    상기 키프레임들을 보간하여 보조 정보를 생성하는 단계;
    상기 비디오 시퀀스의 제 1 프레임의 DC 변환 계수의 채널 인코딩한 신드롬 비트를 수신하여 채널 디코딩하는 단계;
    상기 보조 정보 및 상기 채널 디코딩된 상기 제 1 프레임의 DC 변환 계수를 이용하여 채널 정보를 생성하여 출력하고,
    상기 채널 정보가, 제 1 모드인 경우 상기 보조 정보를 이용하여 상기 제 1 프레임으로 복원하고, 제 2 모드인 경우 상기 보조 정보와 상기 제 1 프레임의 AC 변환 계수의 채널 인코딩한 신드롬 비트를 채널 디코딩한 데이터를 이용하여 상기 제 1 프레임을 복원하고, 제 3 모드일 경우 인트라 코딩된 상기 제 1 프레임을 인트라 디코딩하여 상기 제 1 프레임을 복원하는 단계;를 포함하는 비디오 디코딩 방법.
KR1020120056604A 2012-05-29 2012-05-29 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법 KR101307469B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120056604A KR101307469B1 (ko) 2012-05-29 2012-05-29 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120056604A KR101307469B1 (ko) 2012-05-29 2012-05-29 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법

Publications (1)

Publication Number Publication Date
KR101307469B1 true KR101307469B1 (ko) 2013-09-12

Family

ID=49455895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120056604A KR101307469B1 (ko) 2012-05-29 2012-05-29 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법

Country Status (1)

Country Link
KR (1) KR101307469B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100035364A (ko) * 2008-09-26 2010-04-05 성균관대학교산학협력단 적응 양자화를 이용한 분산 비디오 부호화/복호화 장치 및 그 방법
KR20100082700A (ko) * 2009-01-09 2010-07-19 성균관대학교산학협력단 와이너-지브 부호화 및 복호화 시스템 및 방법
KR20110054762A (ko) * 2009-11-18 2011-05-25 한국항공대학교산학협력단 화소 영역 분산 비디오 코덱 장치, 그를 이용한 부호화 및 복호화 방법
KR101071725B1 (ko) 2010-05-11 2011-10-11 한국항공대학교산학협력단 움직임 정보 피드백을 이용한 분산 비디오 코덱

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100035364A (ko) * 2008-09-26 2010-04-05 성균관대학교산학협력단 적응 양자화를 이용한 분산 비디오 부호화/복호화 장치 및 그 방법
KR20100082700A (ko) * 2009-01-09 2010-07-19 성균관대학교산학협력단 와이너-지브 부호화 및 복호화 시스템 및 방법
KR20110054762A (ko) * 2009-11-18 2011-05-25 한국항공대학교산학협력단 화소 영역 분산 비디오 코덱 장치, 그를 이용한 부호화 및 복호화 방법
KR101071725B1 (ko) 2010-05-11 2011-10-11 한국항공대학교산학협력단 움직임 정보 피드백을 이용한 분산 비디오 코덱

Similar Documents

Publication Publication Date Title
JP5384694B2 (ja) 多層ビデオ設計のためのレート制御
US9445114B2 (en) Method and device for determining slice boundaries based on multiple video encoding processes
CA2295689C (en) Apparatus and method for object based rate control in a coding system
JP5350404B2 (ja) 早いマクロブロック・デルタqpの決定
JP4889231B2 (ja) 画像符号化方法および装置、画像復号方法
US20070098067A1 (en) Method and apparatus for video encoding/decoding
CN113923455B (zh) 一种双向帧间预测方法及装置
US20070098078A1 (en) Method and apparatus for video encoding/decoding
US20070171970A1 (en) Method and apparatus for video encoding/decoding based on orthogonal transform and vector quantization
KR100843080B1 (ko) 비디오 트랜스코딩 방법 및 장치
JP7343817B2 (ja) 符号化装置、符号化方法、及び符号化プログラム
KR100856392B1 (ko) 현재 영상의 복원영역을 참조하는 동영상 부호화/복호화장치 및 그 방법
US8582639B2 (en) Methods and devices for data compression using adaptive reconstruction levels
KR20090103675A (ko) 영상의 인트라 예측 모드 부호화/복호화 방법 및 장치
JP2010010917A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法
KR101639434B1 (ko) 와이너-지브 부호화 및 복호화 시스템 및 방법
KR101307469B1 (ko) 비디오 인코더, 비디오 디코더, 비디오 인코딩 방법 및 비디오 디코딩 방법
KR102020953B1 (ko) 카메라 영상의 복호화 정보 기반 영상 재 부호화 방법 및 이를 이용한 영상 재부호화 시스템
JP4956527B2 (ja) 量子化誤差を低減する方法および装置
Ibrahim et al. Improved Video Coding Technique for Next Generation Communication System.
EP2405656B1 (en) Methods and devices for data compression using adaptive reconstruction levels
KR20110087871A (ko) 인트라 모드를 이용한 쿼터 픽셀 해상도를 갖는 영상 보간 방법 및 장치
Park et al. Multiple channel division for efficient distributed video coding
Mamatha et al. BIT RATE REDUCTION FOR H. 264/AVC VIDEO BASED ON NOVEL HEXAGON SEARCH ALGORITHM.
KR101334269B1 (ko) 전송 비트플레인 수에 의존적인 분산 비디오 부호화 및 복호화 방법

Legal Events

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

Payment date: 20170824

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180820

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 7