KR101506446B1 - 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 - Google Patents
움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 Download PDFInfo
- Publication number
- KR101506446B1 KR101506446B1 KR20100127985A KR20100127985A KR101506446B1 KR 101506446 B1 KR101506446 B1 KR 101506446B1 KR 20100127985 A KR20100127985 A KR 20100127985A KR 20100127985 A KR20100127985 A KR 20100127985A KR 101506446 B1 KR101506446 B1 KR 101506446B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion information
- block
- merging
- current block
- merge
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
- H04N19/615—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명의 실시예는 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명의 실시예는, 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 움직임 정보를 효율적으로 병합하여 부호화하는 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
본 발명의 실시예는, 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 움직임 정보를 효율적으로 병합하여 부호화하는 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
Description
본 발명의 실시예는 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 움직임 정보를 효율적으로 병합하여 부호화하는 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 반드시 종래기술을 구성하는 것은 아니다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 표준 기술인 H.264/AVC(Advanced Video Coding)를 개발하였고, 2010년부터 본격적으로 HEVC(High Efficiency Video Coding)기술을 개발하고 있으며, 고려중인 테스트모델(TMuC: Test Model Under Consideration)은 기존의 동영상 압축 기술과 유사한 방법으로 영상을 블록으로 분할하여 움직임 예측 혹은 인트라 예측에 의해 잔여 블록을 주파수변환, 양자화하여 엔트로피 부호화하는 방법을 따르고 있다. HEVC의 TMuC은 다중 참조프레임을 사용하여 움직임 예측을 실시하여 참조 프레임 색인과 움직임벡터를 움직임정보로서 부호화하여 비트스트림에 출력한다.
HEVC의 TMuC은 움직임 정보를 병합 방법을 사용하여 효율적으로 부호화한다. 종래의 병합방법은 현재 블록의 움직임 정보의 부호화를 위해 복호된 이웃 영상 블록들로부터 N 개의 병합방향 움직임 정보로 구성되는 후보 움직임정보 집합을 생성한다. 현재 움직임 정보와 일치하는 움직임 정보가 후보 움직임정보 집합에 존재하지 않으면 병합플래그 정보를 "병합되지 않음"으로 설정한다. 만일, 현재 움직임 정보와 일치하는 움직임 정보가 후보 움직임정보 집합에 존재하면 병합플래그 정보를 "병합됨"으로 설정하고 후보 움직임정보 집합에서 어떤 움직임 정보와 일치하는가를 나타내는 병합방향정보를 설정한다.
병합플래그 정보가 "병합됨"이라도 후보 움직임정보 집합의 움직임 정보들이 모두 같은 경우에는 병합방향정보를 설정하지 않는다. 비트스트림에는 병합플래그 정보가 출력되며 병합플래그가 "병합되지 않음"이면 현재 움직임 정보를 비트스트림에 출력한다. 즉, 병합플래그가 "병합됨"인 경우 후보 움직임정보 집합의 움직임 정보들이 모두 같은 경우에는 병합방향정보를 비트스트림에 출력하지 않고, 그렇지 않으면 병합되는 병합방향정보를 비트스트림에 출력한다. HEVC의 TMuC은 구체적으로 현재 블록의 맨왼쪽위의 샘플을 기점으로 바로 위의 샘플을 포함하는 블록의 움직임 정보와 바로 왼쪽에 있는 샘플을 포함하는 블록의 움직임 정보로서 후보 움직임정보 집합을 구성한다. 그러나 이와 같은 방법에 의한 움직임 정보 병합은 모든 경우에 대해 병합플래그를 부호화함으로써 효율적인 부호화가 어려워진다.
따라서 움직임 정보를 병합하여 부호화하는데 있어서 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 병합플래그의 부호화를 감소함으로써 움직임 정보를 효율적으로 부호화하여 영상을 부호화, 복호화하는 방법이 필요하다.
이러한 문제점을 해결하기 위해 본 발명의 실시예는, 움직임 정보를 병합하여 부호화하는데 있어서 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 병합관련 플래그의 부호화를 감소함으로써 움직임 정보를 효율적으로 부호화하여 영상의 압축 효율을 향상시키는데 주된 목적이 있다.
전술한 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 장치에 있어서, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하고 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성한 후 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하고 상기 부호 움직임정보와 상기 양자화된 주파수 잔차블록을 엔트로피부호화하여 비트스트림을 생성하는 영상 부호화기; 및 비트스트림을 수신하여 부호 움직임정보 및 잔차블록을 복원하고 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 생성한 예측블록과 상기 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 하는 영상 부호화/복호화 장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 장치에 있어서, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하는 인터예측부; 상기 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성하는 감산부; 상기 잔차블록을 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하는 변환 및 양자화부; 상기 양자화된 주파수 잔차블록과 상기 부호 움직임정보를 엔트로피부호화하여 비트스트림을 생성하는 부호화부를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.
상기 부호 움직임정보는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 생성될 수 있다.
상기 인터예측부는, 상기 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 부호 움직임정보를 병합에 의해 부호화할 것인가를 결정하는 병합판단부; 상기 병합판단부에서 병합에 의해 부호화하는 것으로 결정하는 경우 현재블록의 움직임정보가 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보와 일치하는지 여부에 따라 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산부; 및 상기 병합판단부에서 병합에 의해 부호화하지 않는 것으로 결정하는 경우 병합에 의하지 않고 부호 움직임정보를 생성하는 움직임정보 직접계산부를 포함할 수 있다.
이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보의 집합 중에서 어느 하나의 움직임정보가 상기 현재 블록의 움직임정보와 일치하는 경우에, 병합에 의해 생성되는 부호 움직임정보는 "병합됨"을 의미하는 병합플래그를 포함하고, 상기 병합후보블록의 움직임정보 집합 중에서 일부의 움직임정보가 현재 블록의 움직임정보와 일치하지 않는 경우에는, 병합에 의해 생성되는 부호 움직임정보는 "병합됨"을 의미하는 병합플래그와 상기 병합후보블록 중에서 현재 블록의 움직임정보와 일치하는 움직임정보를 갖는 블록의 방향을 나타내는 병합방향플래그를 포함하고, 상기 병합후보블록의 움직임정보 집합 중에서 모든 움직임정보가 현재 블록의 움직임정보와 일치하지 않는 경우에는, 병합에 의해 생성되는 부호 움직임정보는 "병합되지 않음"을 나타내는 병합플래그 및 현재 블록의 움직임정보를 포함할 수 있다.
상기 병합에 의하지 않고 직접 생성되는 부호 움직임정보는, 상기 병합플래그를 포함하지 않고 현재 블록의 움직임정보를 포함할 수 있다.
상기 부호 움직임정보를 병합에 의해 부호화할 것인가의 결정은, 상기 현재블록의 크기가 기설정 크기보다 큰지 여부를 추가로 판단하여 결정할 수 있다.
상기 병합판단블록의 움직임정보의 집합 또는 상기 병합후보블록의 움직임정보의 집합은, 현재 블록의 가장 왼쪽위의 샘플의 왼쪽 샘플을 포함하는 이웃 블록의 움직임정보, 현재 블록의 가장 왼쪽위의 샘플의 위쪽 샘플을 포함하는 이웃 블록의 움직임정보, 현재 블록의 가장 왼쪽위의 샘플의 왼쪽샘플의 바로 위쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보, 및 현재 블록의 가장 오른쪽 위의 샘플의 바로 위 오른쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보 중에서 하나 이상으로 각각 구성할 수 있다.
상기 병합판단블록의 움직임정보의 집합과 상기 병합후보블록의 움직임정보의 집합은 서로 일치할 수도 또는 서로 일치하지 않을 수 있다.
상기 움직임정보가 서로 유사한지 여부 혹은 일치하는지 여부의 판단은, 움직임벡터만으로 판단하거나 참조프레임이 같은 경우에 한해 움직임벡터를 이용하여 판단할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 장치에 있어서, 부호화 데이터를 수신하여 부호 움직임정보 및 양자화계수열을 추출하고 양자화된 주파수 잔차블록을 복원하는 복호화부; 상기 양자화된 주파수 잔차블록을 역양자화하고 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부; 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성하는 인터예측부; 및 상기 복원된 잔차 블록과 상기 예측블록을 가산하여 상기 현재 블록을 복원하는 가산부를 포함하는 것을 특징으로 하는 영상 복호화 장치를 제공한다.
상기 복원된 움직임정보는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 복원될 수 있다.
상기 인터예측부는, 상기 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단부; 상기 병합판단부에서 병합에 의해 복원하는 것으로 결정하는 경우, 상기 부호 움직임정보에 포함된 병합플래그를 수신하여 상기 병합플래그가 “병합됨”을 나타내는 경우, 상기 병합후보블록의 움직임정보 정보가 모두 일치하는 경우에는 상기 병합후보블록의 움직임정보 정보 중에서 어느 하나를 현재블록의 움직임정보로 설정하고 상기 병합후보블록의 움직임정보 정보가 모두 일치하지 않은 경우에는 병합방향 플래그를 수신하여 상기 병합방향플래그가 가리키는 블록의 움직임정보를 현재 블록의 움직임정보로 설정하고, 상기 병합플래그가 “병합되지 않음”을 나타내는 경우 상기 부호움직임정보에 포함된 움직임정보를 수신하여 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호부; 및 상기 병합판단부에서 병합에 의해 복원하지 않는 것으로 결정하는 경우 현재 블록의 움직임정보를 상기 부호 움직임정보로부터 추출하는 움직임정보 직접복호부를 포함할 수 있다.
상기 병합방향플래그가 가리키는 블록은 이웃블록의 움직임정보로 이루어진 병합후보블록의 집합 중에서 하나일 수 있다.
상기 병합판단블록의 움직임정보의 집합 또는 상기 병합후보블록의 움직임정보의 집합은, 현재 블록의 가장 왼쪽위의 샘플의 왼쪽 샘플을 포함하는 이웃 블록의 움직임정보, 현재 블록의 가장 왼쪽위의 샘플의 위쪽 샘플을 포함하는 이웃 블록의 움직임정보, 현재 블록의 가장 왼쪽위의 샘플의 왼쪽샘플의 바로 위쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보, 및 현재 블록의 가장 오른쪽 위의 샘플의 바로 위 오른쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보 중에서 하나 이상으로 각각 구성할 수 있다.
상기 병합판단블록의 움직임정보의 집합과 상기 병합후보블록의 움직임정보의 집합은 서로 일치할 수도 또는 서로 일치하지 않을 수 있다.
상기 움직임정보가 서로 유사한지 여부의 판단은, 움직임벡터만으로 판단하거나 참조프레임이 같은 경우에 한해 움직임벡터를 이용하여 판단할 수 있다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 부호 움직임정보를 병합에 의해 부호화할 것인가를 결정하는 병합판단부; 상기 병합판단부에서 병합에 의해 부호화하는 것으로 결정하는 경우 현재블록의 움직임정보가 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보와 일치하는지 여부에 따라 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산부; 및 상기 병합판단부에서 병합에 의해 부호화하지 않는 것으로 결정하는 경우 병합에 의하지 않고 부호 움직임정보를 생성하는 움직임정보 직접계산부를 포함하는 것을 특징으로 하는 부호움직임정보 생성장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단부; 상기 병합판단부에서 병합에 의해 복원하는 것으로 결정하는 경우, 상기 부호 움직임정보에 포함된 병합플래그를 수신하여 상기 병합플래그가 “병합됨”을 나타내는 경우, 상기 병합후보블록의 움직임정보 정보가 모두 같은 경우에는 상기 병합후보블록의 움직임정보 정보 중에서 어느 하나를 현재블록의 움직임정보로 설정하고 상기 병합후보블록의 움직임정보 정보가 모두 같지 않은 경우에는 병합방향 플래그를 수신하여 상기 병합방향플래그가 가리키는 블록의 움직임정보를 현재 블록의 움직임정보로 설정하고, 상기 병합플래그가 “병합되지 않음”을 나타내는 경우 상기 부호움직임정보에 포함된 움직임정보를 수신하여 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호부; 및 상기 병합판단부에서 병합에 의해 복원하지 않는 것으로 결정하는 경우 현재 블록의 움직임정보를 상기 부호 움직임정보로부터 추출하는 움직임정보 직접복호부를 포함하는 것을 특징으로 하는 움직임정보 복원장치를 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화/복호화하는 방법에 있어서, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하고 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성한 후 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하고 상기 부호 움직임정보와 상기 양자화된 주파수 잔차블록을 엔트로피부호화하여 비트스트림을 생성하는 영상 부호화단계; 및 비트스트림을 수신하여 부호 움직임정보 및 잔차블록을 복원하고 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 생성한 예측블록과 상기 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 영상 복호화단계를 포함하는 것을 특징으로 하는 영상 부호화/복호화 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 부호화하는 방법에 있어서, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하는 인터예측단계; 상기 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성하는 감산단계; 상기 잔차블록을 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하는 변환 및 양자화단계; 상기 양자화된 주파수 잔차블록과 상기 부호 움직임정보를 엔트로피부호화하여 비트스트림을 생성하는 부호화단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 영상을 복호화하는 방법에 있어서, 부호화 데이터를 수신하여 부호 움직임정보 및 양자화계수열을 추출하고 양자화된 주파수 잔차블록을 복원하는 복호화단계; 상기 양자화된 주파수 잔차블록을 역양자화하고 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계; 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성하는 인터예측단계; 및 상기 복원된 잔차 블록과 상기 예측블록을 가산하여 상기 현재 블록을 복원하는 가산단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 부호 움직임정보를 병합에 의해 부호화할 것인가를 결정하는 병합판단단계; 상기 병합판단단계에서 병합에 의해 부호화하는 것으로 결정하는 경우 현재블록의 움직임정보가 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보와 일치하는지 여부에 따라 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산단계; 및 상기 병합판단단계에서 병합에 의해 부호화하지 않는 것으로 결정하는 경우 병합에 의하지 않고 부호 움직임정보를 생성하는 움직임정보 직접계산단계를 포함하는 것을 특징으로 하는 부호움직임정보 생성방법을 제공한다.
또한, 본 발명의 다른 목적을 달성하기 위해 본 발명의 일 실시예는, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단단계; 상기 병합판단단계에서 병합에 의해 복원하는 것으로 결정하는 경우, 상기 부호 움직임정보에 포함된 병합플래그를 수신하여 상기 병합플래그가 “병합됨”을 나타내는 경우, 상기 병합후보블록의 움직임정보 정보가 모두 같은 경우에는 상기 병합후보블록의 움직임정보 정보 중에서 어느 하나를 현재블록의 움직임정보로 설정하고 상기 병합후보블록의 움직임정보 정보가 모두 같지 않은 경우에는 병합방향 플래그를 수신하여 상기 병합방향플래그가 가리키는 블록의 움직임정보를 현재 블록의 움직임정보로 설정하고, 상기 병합플래그가 “병합되지 않음”을 나타내는 경우 상기 부호움직임정보에 포함된 움직임정보를 수신하여 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호단계; 및 상기 병합판단단계에서 병합에 의해 복원하지 않는 것으로 결정하는 경우 현재 블록의 움직임정보를 상기 부호 움직임정보로부터 추출하는 움직임정보 직접복호단계를 포함하는 것을 특징으로 하는 움직임정보 복원방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 움직임 정보를 병합하여 부호화하는데 있어서 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 병합관련 데이터양을 줄임으로써 움직임 정보를 효율적으로 부호화하여 부호화 효율을 높일 수 있으며, 그를 통해 압축효율을 향상시키고, 효율화되어 전송된 부호화데이터를 복원하는 효과가 있다.
또한, 움직임정보를 병합하여 부호화하는데 있어서 부호화할 블록의 크기를 확인하여 영상이 복잡한 영역으로 판단되는 경우에는 병합하지 않고 부호화하는 등 영상의 특성에 따라 선택적으로 부호화할 블록을 병합하여 부호화함으로써 병합플래그 정보의 발생량을 감소시키고, 이와 같이 데이터량이 감소되어 전송된 부호화데이터를 복원하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 부호 움직임정보 생성장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 3은 현재 블록(Hn)과, 후보이웃블럭집합을 만들기 위해 사용될 수 있는 이미 부호화된 영상블록을 (Ln, Un, ULn, URn)들을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 부호움직임정보 생성방법의 흐름도를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 움직임정보 복원장치(600)를 간략히 나타낸 블록 구성도이다.
도 7은 본 발명의 일 실시예에 따른 움직임정보 복원방법의 흐름도를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 부호 움직임정보 생성장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 3은 현재 블록(Hn)과, 후보이웃블럭집합을 만들기 위해 사용될 수 있는 이미 부호화된 영상블록을 (Ln, Un, ULn, URn)들을 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 부호움직임정보 생성방법의 흐름도를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
도 6은 본 발명의 일 실시예에 따른 움직임정보 복원장치(600)를 간략히 나타낸 블록 구성도이다.
도 7은 본 발명의 일 실시예에 따른 움직임정보 복원방법의 흐름도를 예시한 도면이다.
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림(부호화데이터)으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 영상을 부호화하는 장치로서, 인트라 예측부(110), 인터예측부(120), 감산부(130), 변환 및 양자화부(140), 부호화부(150), 역양자화 및 역변환부(160), 가산부(170), 프레임 메모리(180)를 포함하여 구성될 수 있다.
부호화하고자 하는 입력 영상은 부호화블록(Coding Block) 단위로 입력이 되는데, 본 발명에서, 부호화블록은 M×N 형태이며, M과 N이 동일하거나 다를 수 있다. 또한, 부호화블록은 다양한 크기의 예측단위블록으로 분할될 수 있다.
인트라 예측부(110)는 현재 예측단위블록을 예측하기 위하여 인접 화소를 이용하여 예측 블록을 생성한다. 즉, 인트라 예측부(110)는 이미 부호화 과정을 거치고 복원된, 현재 블록의 인접 화소들을 이용하여 인트라 예측부(110)의 모드에 따라 예측 블록을 생성한다.
인터예측부(120)는 현재 예측단위 블록을 예측하기 위하여 참조 프레임을 이용하여 예측 블록을 생성하여 출력한다. 즉, 인터예측부(120)는 이미 부호화 과정을 거치고 복원된 이전 프레임에서 인터예측부(120)의 모드에 따라 움직임 추정을 통해 움직임 벡터와 참조프레임 색인, 움직임벡터 해상도 등으로 구성되는 움직임 정보를 생성하고 움직임 정보를 이용한 움직임 보상 과정에서 예측 블록을 생성한다. 또한 인터예측부(120)는 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하고, 병합에 의하여 부호화하지 않는 것으로 판단하면 종래의 방법으로 움직임정보를 포함하는 부호 움직임정보를 생성하고, 병합에 의한 부호화로 판단하면 종래의 병합방법에 의해 병합 플래그 및 병합방향플래그, 혹은 병합플래그 및 움직임정보를 포함하는 부호 움직임정보를 생성한다.
인터예측부(120)는 부호움직임정보 생성부(도시하지 않음)를 포함할 수 있으며, 부호움직임정보 생성부는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수 있으며, 도 2에 도시된 바와 같은 부호움직임정보 생성장치(200)로 구성될 수 있다. 부호움직임정보 생성부의 동작에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다.
감산부(130)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(130)는 현재 블록의 화소값과 인트라예측부(110) 또는 인터예측부(120)에서 생성된 예측 블록의 화소값을 감산하여 잔차 블록을 생성한다.
변환 및 양자화부(140)는 감산부(130)에서 생성된 잔차 블록을 주파수 계수로 변환하고 양자화한다. 즉, 변환 및 양자화부는(140)는 감산부(130)에 의해 생성된 잔차 블록의 잔차 계수를 주파수 계수를 갖는 잔차 블록을 생성하고 생성된 주파수 계수의 잔차 블록을 양자화하는데, 이때 사용되는 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 사용되고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법을 이용할 수 있다.
부호화부(150)는 변환 및 양자화부(140)에 의해 변환되고 양자화된 잔차 블록을 부호화하여 부호화 데이터(비트스트림)를 생성할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술을 사용할 수 있을 것이다.
또한, 부호화부(150)는 양자화 주파수 계수들을 부호화한 비트열뿐만 아니라 움직임정보 등 부호화된 주파수계수 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 즉, 부호화 데이터는 부호화된 블록 형태(CBP: Coded Block Pattern), 델타 양자화 계수(Delta Quantization Parameter) 및 양자화 주파수 계수가 부호화 된 비트열이 포함되는 제 1 필드와 예측에 필요한 정보(예를 들어, 인트라 예측의 경우 인트라 예측 모드 또는 인터 예측의 경우 움직임 정보 등)를 위한 비트가 포함되는 제 2 필드를 포함할 수 있다.
역양자화 및 역변환부(160)는 변환 및 양자화부(140)에 의해 변환 및 양자화된 잔차 블록을 역양자화(Inverse Quantization)하고 역변환(Inverse Transform)하여 잔차 블록을 생성한다. 역양자화와 역변환은 변환 및 양자화부(140)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환부(160)는 변환 및 양자화부(140)로부터 전달되는 양자화 된 블록을 역양자화하고, 역양자화된 주파수 블록을 다시 역변환하여 잔차 계수를 갖는 잔차 블록을 생성할 수 있다.
가산부(170)는 인트라예측부(110) 또는 인터예측부(120)에서 생성된 예측 블록과 역양자화 및 역변환부(160)에 의해 생성된 잔차 블록을 가산하여 복원된 블록을 생성한다.
프레임 메모리(180)는 가산부(170)에서 복원된 블록을 저장하여 인트라 예측 혹은 인터 예측 수행 시 예측 블록을 생성하기 위해 참조블록으로 사용된다.
도 2는 본 발명의 일 실시예에 따른 부호움직임정보 생성장치의 구성을 간략하게 나타낸 블록 구성도로서, 부호움직임정보 생성장치(200)는 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하고, 병합에 의하여 부호화하지 않는 것으로 판단하면 종래의 방법으로 부호 움직임정보를 생성하고, 병합에 의한 부호화로 판단하면 병합에 의한 부호 움직임정보를 생성한다. 도 1의 인터예측부(120)는 부호움직임정보 생성장치(200)를 포함할 수 있다.
도 2에서 본 발명의 일 실시예에 따른 부호움직임정보 생성장치(200)는 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하는 병합판단부(210), 병합판단부(210)가 병합에 의해 부호화하는 것으로 판단하는 경우 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산부(220), 병합판단부(210)가 병합에 의해 부호화하지 않는 것으로 판단하는 경우 병합에 의하지 않고 부호 움직임정보를 생성하는 움직임정보 직접계산부(230)를 포함한다.
도 3은 현재 블록(Hn)과, Hn의 움직임정보를 부호화하기 위해 사용될 수 있는 이미 부호화된 이웃 영상블록 (Ln, Un, ULn, URn)들을 예시한 도면이다. 여기서, n은 현재 블록과 그에 따른 이웃 영상 블록들을 식별하는 기호이다.
도 3에서 Hn은 움직임 정보를 부호화할 현재 블록을 나타내며, Ln은 Hn의 가장 왼쪽위의 샘플의 왼쪽 샘플을 포함하는 왼쪽 이웃 블록을, Un은 현재 블록 Hn의 가장 왼쪽위의 샘플의 위쪽 샘플을 포함하는 위쪽 이웃 블록을 나타낸다. ULn은 현재 블록 Hn의 가장 왼쪽위의 샘플의 왼쪽샘플의 바로 위쪽에 위치한 샘플을 포함하는 왼쪽위 이웃 블록을 나타내며, URn은 현재 블록 Hn의 가장 오른쪽 위의 샘플의 바로 위 오른쪽에 위치한 샘플을 포함하는 오른쪽위 이웃 블록을 나타낸다.
도 3에서 하나의 영상이 4개의 32x32 코드 블록으로 분할되고 각각의 32x32코드 블록이 다양한 크기의 예측단위블록으로 분할되는 예를 보여준다. 본 발명의 실시예에 따르면 이웃 블록의 움직임정보로 이루어진 병합판단블록의 움직임정보 집합은 하나 이상의 이웃블록의 움직임정보로 구성될 수 있다. 본 실시예에서, 병합판단블록의 움직임정보 집합은 Ln과 Un의 두 개의 이웃 블록에 대한 각각의 움직임정보인 MV_Ln과 MV_Un로 구성되거나, Ln, Un, ULn, URn의 움직임 정보로 구성되는 등 다양한 이웃블록의 움직임정보의 집합으로 구성될 수도 있다. 여기서, 움직임정보는 참조색인, 움직임벡터, 움직임벡터 해상도를 포함할 수 있다.
병합판단부(210)는 이웃 블록의 움직임정보로 이루어진 병합판단블록의 움직임정보 집합의 모든 움직임정보가 서로 유사한지의 여부를 기반으로 병합움직임정보 계산부(220)에서 부호화할 현재 블록의 부호 움직임정보를 생성할 것인지, 아니면 움직임정보 직접계산부(230)에서 부호화할 현재 블록의 부호 움직임정보를 생성할 것인지 여부를 결정한다. 부호움직임정보 생성장치(200)는, 병합판단부(210)에 의해 이미 부호화된 이웃 블록들의 정보와 현재 블록의 모드 정보 등을 기반으로 움직임 정보의 병합에 의한 부호화 가능성이 희박하다고 판단되는 경우 병합움직임정보 계산부(220)를 통하지 않고, 움직임정보 직접계산부(230)에서 부호화할 부호 움직임정보를 생성하여 병합플래그 정보의 부호화를 감소함으로써 압축효율을 향상시킨다.
도 4는 본 발명의 일 실시예에 따른 부호움직임정보 생성방법의 흐름도를 예시한 것으로서, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 움직임정보집합의 모든 움직임정보가 서로 유사한지의 여부에 따라 부호화할 현재 블록의 부호 움직임정보를 병합움직임정보 계산부(220)에서 계산할 것인지, 아니면 움직임정보 직접계산부(230)에서 계산할 것인지 여부를 결정하는 흐름도를 예시한 도면이다.
영상에 있어서 움직임이 매우 복잡한 영역은 블록이 작게 분할되며 이웃한 블록들의 움직임벡터 등 움직임정보가 서로 유사하지 않을 가능성이 높다. 이런 조건하에서는 현재 블록의 움직임정보가 이웃 블록의 움직임정보에 병합되어 생성될 가능성이 희박하다. 또한 현재 움직임정보를 Ln 혹은 Un에 병합하여 부호화하는 경우 Ln과 Un의 움직임정보가 다르면 최소한 두 개의 정보(병합플래그 및 병합방향플래그)가 부호화될 수 있다. 여기서 병합방향플래그는 Hn의 움직임정보와 일치하는 움직임정보를 갖는 블록의 방향을 나타내는 정보를 의미한다. 여기서 방향을 나타내는 정보를 위하여 Ln은 0, Un은 1과 같이 1비트를 할당할 수 있다.
병합판단부(210)는 현재 블록에 대해 병합판단블록의 움직임정보 집합으로서 이웃블록집합(예컨대 {Ln, Un, ULn, URn})의 움직임정보집합을 참조할 수 있다(S410). 병합판단부(210)가 참조하는 이웃블록집합은 {Ln, Un}, {Ln, Un, ULn} 또는 {Ln, Un, URn} 등 다양한 방법으로 구성할 수 있으며, 본 발명이 이에 한정되지는 않는다. 또한, 병합판단부(210)는 부호 움직임정보를 병합에 의해 부호화할 것인가의 결정은 현재블록의 크기가 기설정 크기보다 큰지 여부를 추가로 판단하여 결정할 수 있다. 즉, 현재 블록 Hn의 크기가 기설정 크기(PXQ, 예컨대, 4x4, 8x8) 이하이거나 이웃블록집합 {Ln, Un, ULn, URn}의 움직임정보가 모두 서로 유사한지 여부에 대한 조건을 판단하여(S420), 상기의 조건을 만족하지 않으면 현재 블록 및/또는 그 주변블록의 움직임이 매우 복잡한 영역으로 판단하여 부호 움직임정보를 병합에 의하지 않고 생성하고(S430), 현재 블록 Hn의 크기가 기설정 크기(PXQ, 예컨대, 4x4, 8x8)보다 크고 병합판단블록에 포함되는 이웃블록집합 {Ln, Un, ULn, Urn}의 모든 움직임정보가 서로 유사한 것으로 판단하면 병합에 의해 부호 움직임정보를 생성한다(S440). 여기서, 인트라모드로 부호화된 이웃 블록은 다른 이웃 블록들과 움직임정보가 다른 것으로 판단한다. 병합판단블록의 움직임정보가 유사한가의 판단은 움직임정보의 요소 중 하나인 움직임벡터가 유사한가로 판단할 수도 있으며, 이 경우 움직임벡터가 유사한가 여부의 판단은 병합판단블록에 포함되는 이웃 블록들의 움직임벡터간의 거리가 주어진 임계값 정보보다 작은지 여부로 판단할 수 있다. 이때 움직임벡터간의 거리는 2차원 유클리디언 거리 혹은 시티 거리 등을 사용할 수 있다. 또한 움직임정보가 유사한가의 판단은 움직임정보 중에서 일부의 정보, 예컨대, 움직임벡터만을 사용하여 판단할 수도 있다. 또한 움직임정보가 유사한가의 판단은, 움직임정보의 참조프레임이 같은가를 추가로 판단할 수도 있다. 즉, 움직임벡터뿐만 아니라 참조프레임까지 같아야 움직임정보가 유사한 것으로 판단할 수도 있다.
본 발명의 일 실시예에 따른 움직임정보 병합움직임정보계산부(220)와 직접계산부(230)는 JCT-VC(Joint Collaborative Team for Video Coding Committee)의 HEVC의 TMUC 방법을 따를 수 있다.
HEVC의 TMUC에 따르면 병합움직임정보 계산부(220)는 참조프레임을 나타내는 참조색인 정보와 움직임벡터, 움직임벡터 해상도 등으로 구성되는 현재 블록의 움직임정보를 이미 부호화된 이웃 영상블록들의 움직임 정보들로 구성된 병합후보블록의 움직임정보를 기반으로 병합플래그 및/또는 병합방향플래그를 포함하는 부호 움직임정보를 생성할 수 있다.
병합움직임정보 계산부(220)는, 예를 들어 병합후보블록이 {Ln, Un}인 경우, 현재 블록의 움직임정보 Hn과 {Ln, Un}으로 구성되는 병합후보블록 집합을 입력받아 Hn의 움직임 정보가 {Ln, Un}의 움직임정보 중에서 어느 하나의 움직임 정보와도 일치하지 않으면 병합플래그 정보를 "병합되지 않음"으로 설정하고, Hn의 움직임 정보가 {Ln, Un}의 움직임정보 중에서 어느 하나의 움직임 정보와 일치하면 병합플래그 정보를 "병합됨"으로 설정한다. 병합플래그가 “병합됨”을 나타내면 병합후보블록(Ln, Un)의 움직임정보 중 어떤 블록의 움직임정보와 일치하는가를 나타내는 병합방향플래그를 설정하고, 병합플래그와 병합방향플래그를 포함하는 부호 움직임정보로 생성한다. 만일, 병합플래그 정보가 "병합됨"이라도 {Ln, Un}의 움직임정보 정보가 모두 같은 경우에는 병합방향플래그는 부호 움직임정보에 포함되지 않는다. 또한, 병합움직임정보 계산부(220)는 병합후보블록의 움직임정보 집합 중에서 모든 움직임정보가 현재 블록의 움직임정보와 일치하지 않는 경우에는, 병합에 의해 생성되는 부호 움직임정보는 "병합되지 않음"을 나타내는 병합플래그 및 현재 블록의 움직임정보를 포함한다. 병합움직임정보 계산부(220)는 병합플래그가 “병합되지 않음”을 나타내면 병합플래그와 함께 참조색인, 움직임벡터, 움직임해상도 중에서 하나 이상을 포함하는 움직임정보를 부호 움직임정보로 생성한다. 이때 움직임벡터는 이미 부호화된 시공간 이웃 움직임벡터들로부터 예측움직임벡터를 계산하여 차분움직임벡터로서 움직임정보를 생성하여 병합플래그와 함께 부호 움직임정보를 구성할 수 있다.
움직임정보 직접계산부(230)는 병합플래그 없이 전술한 “병합되지 않음”의 경우와 같은 방법으로 참조색인, 움직임벡터, 움직임해상도 등의 움직임정보를 포함하는 부호 움직임정보로 생성할 수 있다.
도 2 내지 도 4를 통하여 전술한 바와 같은, 부호움직임정보 생성장치(200)를 이용하면, 움직임정보를 병합하여 부호화하는데 있어서 영상의 특성에 따라 병합플래그 정보의 부호화를 감소함으로써 움직임 정보를 효율적으로 부호화하여 부호화 효율을 높일 수 있으며, 그를 통해 압축 효율을 향상시킬 수 있다.
도 5는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 간략하게 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(500)는 복호화부(510), 역양자화 및 역변환부(520), 인트라 예측부(530), 인터 예측부(540), 가산부(550), 프레임 메모리(560)를 포함하여 구성될 수 있다.
복호화부(510)는 부호화 데이터(비트스트림)를 복호화하여 블록 복호화에 필요한 인터예측 모드, 부호 움직임정보, 인트라 예측 모드, 텍스쳐 등의 데이타를 추출한다. 즉, 복호화부(510)는 부호화 데이터를 복호화하여 양자화 주파수 계수열을 추출하고, 양자화 주파수 계수열을 역 지그재그 스캔 등 다양한 역스캐닝 방식으로 역스캐닝하여 양자화 주파수 계수를 갖는 잔차 블록을 생성한다. 이때, 복호화부(510)는 부호화 데이터에 포함된 제 1 필드에서 부호화된 잔차 블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제 2 필드에서 인트라 예측모드, 인터예측 모드, 부호 움직임정보 등 예측에 필요한 정보를 추출할 수 있으며, 추출된 예측에 필요한 정보를 인트라 예측부(530) 또는 인터 예측부(540)로 전달하여, 해당 예측부가 영상 부호화 장치(100)의 해당 예측부와 동일한 방식으로 현재 블록을 예측하도록 할 수 있다. 여기서 복호되는 부호 움직임정보에는 움직임정보가 포함될 수 있으며, 경우에 따라 움직임정보 대신에 병합플래그 및 병합방향 플래그가 포함될 수 있으며, 또한 부호 움직임정보에 움직임정보와 병합플래그를 포함할 수도 있다.
역 양자화 및 역 변환부(520)는 양자화된 잔차 블록을 역양자화하여 역양자화된 잔차 블록을 생성하고 생성된 역양자화된 블록을 역 트랜스폼하여 잔차 블록을 생성한다.
인트라 예측부(530)는 복호화부(510)로부터 전달되는 인트라 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다.
인터 예측부(540)는 복호화부(510)로부터 전달되는 인터 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다. 이때, 인터 예측부(540)는 복호화부(510)로부터 부호 움직임정보를 전송받아, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 움직임정보가 모두 유사한 경우 부호 움직임정보에 포함된 병합플래그에 따라서 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보 집합 또는 부호 움직임정보에 포함된 움직임정보로부터 현재 블록의 움직임정보를 복원하고, 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성할 수 있다. 또한, 인터 예측부(540)는 이웃 블록의 움직임정보로 이루어진 병합판단블록의 움직임정보가 모두 유사하지 않은 경우 부호 움직임정보에 포함된 움직임정보를 이용하여 현재 블록의 움직임정보를 복원하고, 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성할 수 있다. 인터예측부(540)는 움직임정보 복원부(도시하지 않음)를 포함할 수 있으며, 움직임정보 복원부는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수 있으며, 도 6에 도시된 바와 같은 움직임정보 복원장치(600)로 구성될 수 있다. 움직임정보 복원장치(600)의 동작에 대해서는 후술하는 과정에서 도 6을 통해 상세히 설명한다.
가산부(550)는 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원한다. 가산부(550)에 의해 복원된 현재 블록은 프레임 메모리(560)로 전달되어, 예측부에서 다른 블록을 예측하는 데 활용될 수 있다.
프레임 메모리(560)는 복원된 영상을 저장하여 인트라 및 인터 예측 블록 생성을 가능하게 한다.
인터예측부(530)는 복호화부(510)로부터 부호 움직임정보를 전송받아, 움직임 정보를 복호하고 복호된 움직임 정보를 사용하여 예측 블록을 생성하는 움직임정보 복원부를 포함할 수 있다. 움직임정보 복원부는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수 있으며, 도 6에 도시된 바와 같은 움직임정보 복원장치(600)로 구성될 수 있다.
도 6은 본 발명의 일 실시예에 따른 움직임정보 복원장치(600)를 간략히 나타낸 블록 구성도이다.
본 발명의 일 실시예에 따른 움직임정보 복원장치(600)는 영상 부호화 장치(100)에서 사용했던 것과 같거나 유사한 방법으로 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지의 여부에 따라 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단부(610), 병합판단부(610)가 병합에 의해 복호화하는 것으로 결정하는 경우 부호 움직임정보에 포함된 병합플래그를 수신하여, 병합플래그가 “병합됨”을 나타내는 경우, 병합후보블록의 움직임정보 정보가 모두 같은 경우에는 병합후보블록의 움직임정보 정보 중에서 어느 하나를 현재블록의 움직임정보로 설정하고 병합후보블록의 움직임정보 정보가 모두 같지 않은 경우에는 병합방향 플래그를 수신하여 병합방향플래그가 가리키는 병합후보블록 중 해당하는 블록의 움직임정보를 현재 블록의 움직임정보로 설정하고, 병합플래그가 “병합되지 않음”을 나타내는 경우 부호움직임정보에 포함된 움직임정보를 수신하여 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호부(620), 병합판단부(210)가 병합에 의해 부호화하지 않는 것으로 판단하는 경우 현재 블록의 움직임정보를 복호화부(510)가 추출한 부호 움직임정보로부터 추출하는 움직임정보 직접복호부(630)를 포함한다.
병합움직임정보 복호부(620)는 병합후보블록 집합을 생성하고, 부호 움직임정보에 포함된 병합플래그가 "병합됨"을 의미하는 경우, 병합후보블록의 움직임정보로 이루어진 병합후보블록의 움직임정보 집합 중에서 모든 움직임정보가 일치하는 경우에는 병합후보블록의 움직임정보집합 중에서 어느 하나를 복원하고자 하는 현재블록의 움직임정보로 생성하고, 병합후보블록의 움직임정보 집합의 움직임정보가 모두 일치하지 않는 경우에는 부호 움직임정보에 포함된 병합방향플래그를 이용하여 병합후보블록집합 중에서 병합방향플래그가 가리키는 이웃 블록의 움직임 정보를 현재 블록의 움직임정보로 생성한다. 또한, 병합움직임정보 복호부(620)는 부호 움직임정보에 포함된 병합플래그가 "병합되지 않음"을 의미하면, 현재 블록의 움직임정보를 부호 움직임정보에 포함된 움직임정보로부터 추출한다.
움직임정보 직접복호부(630)는 병합판단부(610)의 판단결과 움직임정보를 직접 복원하는 것으로 판단하면, 복호된 부호 움직임정보에 포함된 참조색인, 움직임벡터, 움직임해상도 등의 움직임정보를 입력받아 현재 블록의 움직임정보로 설정한다.
도 7은 본 발명의 일 실시예에 따른 움직임정보 복원방법의 흐름도를 예시한 도면이다.
도 7에 도시한 바와 같이, 병합판단부(610)는 현재 블록에 대해 병합판단블록의 움직임정보 집합으로서 이웃블록집합 {Ln, Un, ULn, Urn}의 움직임정보를 참조할 수 있다(S710). 병합판단블록집합을 구성하는 이웃블럭은 실제 병합을 위해 사용하는 병합후보블럭집합을 구성하는 이웃블록과 다를 수 있다. 또한, 병합판단부(610)는 부호 움직임정보를 병합에 의해 부호화할 것인가의 결정은 현재블록의 크기가 기설정 크기보다 큰지 여부를 추가로 판단하여 결정할 수 있다. 즉, 현재 블록 Hn의 크기가 기설정 크기(PXQ, 예컨대, 4x4, 8x8) 이하이거나 이웃블록집합 {Ln, Un, ULn, Urn}의 움직임정보가 모두 서로 유사한지의 여부에 대한 조건을 판단하여(S720), 상기의 조건을 만족하지 않으면 현재 블록 및/또는 그 주변블록의 움직임이 매우 복잡한 영역으로 판단하여 부호 움직임정보를 병합에 의하지 않고 생성하고(S730), 현재 블록 Hn의 크기가 기설정 크기(PXQ, 예컨대, 4x4, 8x8)보다 크고 이웃블록집합 {Ln, Un, ULn, Urn}의 모든 움직임정보가 서로 유사한 것으로 판단하면 병합에 의해 부호 움직임정보를 생성한다(S740). 여기서, 인트라모드로 부호화된 이웃 블록은 다른 이웃 블록들과 움직임정보가 다른 것으로 판단한다. 본 실시예에서 PXQ는 8x8 혹은 4x4 등으로 설정할 수 있다. 병합판단블록의 움직임정보의 요소 중 하나인 움직임벡터가 유사한가 여부의 판단은 이웃 블록들의 움직임벡터간의 거리가 주어진 임계값 정보보다 작은지 여부로 판단할 수 있다. 이때 움직임벡터간의 거리는 2차원 유클리디언 거리 혹은 시티 거리 등을 사용할 수 있다. 또한 움직임정보가 유사한가의 판단은 움직임정보 중에서 일부의 정보, 예컨대, 움직임벡터만을 사용하여 판단할 수도 있다. 또한 움직임정보가 유사한가의 판단은, 움직임정보의 참조프레임이 같은가를 추가로 판단할 수 있다. 즉, 움직임벡터뿐만 아니라 참조프레임까지 같아야 움직임정보가 유사한 것으로 판단할 수도 있다.
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 1의 영상 부호화 장치(100)의 부호화데이터(비트스트림) 출력단을 도 5의 영상 복호화 장치(500)의 부호화 데이터(비트스트림) 입력단에 연결함으로써 구현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하고 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성한 후 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하고 상기 부호 움직임정보와 상기 양자화된 주파수 잔차블록을 엔트로피부호화하여 비트스트림을 생성하는 영상 부호화기; 및 비트스트림을 수신하여 부호 움직임정보 및 잔차블록을 복원하고 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 생성한 예측블록과 상기 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 영상 복호화기를 포함한다.
여기서 영상 부호화기는 본 발명의 일 실시예에 따른 영상 부호화 장치(100)로 구현 가능하며, 영상 복호화기는 본 발명의 일 실시예에 따른 영상 복호화 장치(500)로 구현 가능하다.
한편, 본 발명의 일 실시예에 따른 영상 부호화 방법은, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하는 인터예측단계(S810), 현재 블록에서 예측블록을 감산하여 잔차블록을 생성하는 감산단계(S820), 잔차블록을 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하는 변환 및 양자화단계(S830) 및 상기 부호 움직임정보와 상기 양자화된 주파수 잔차블록을 엔트로피부호화하여 비트스트림을 생성하는 부호화단계(S840)를 포함한다.
여기서, 인터예측단계(S810)는 인터예측부(120)의 동작에 대응되며, 감산단계(S820)는 감산부(130)의 동작에 대응되며, 변환 및 양자화단계(S830)는 변환 및 양자화부(140)의 동작에 대응되며, 부호화단계(S840)는 부호화부(150)의 동작에 대응되므로 상세한 설명은 생략한다.
한편, 본 발명의 일 실시예에 따른 영상 복호화 방법은, 부호화 데이터를 수신하여 부호 움직임정보 및 양자화계수열을 추출하고 양자화된 주파수 잔차블록을 복원하는 복호화단계(S910), 양자화된 주파수 잔차블록을 역양자화하고 역변환하여 잔차블록을 복원하는 역양자화 및 역변환단계(S920), 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성하는 인터예측단계(S930) 및 복원된 잔차 블록과 예측블록을 가산하여 현재 블록을 복원하는 가산단계(S940)를 포함한다.
여기서, 복호화단계(S910)는 복호화부(510)의 동작에 대응되며, 역양자화 및 역변환단계(S920)는 역양자화 및 역변환부(520)의 동작에 대응되며, 인터예측단계(S930)는 인터예측부(840)의 동작에 대응되며, 가산단계(S940)는 가산부(550)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 부호움직임정보 생성방법은, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 부호 움직임정보를 병합에 의해 부호화할 것인가를 결정하는 병합판단단계(S1010), 상기 병합판단단계에서 병합에 의해 부호화하는 것으로 결정하는 경우 현재블록의 움직임정보가 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보와 일치하는지 여부에 따라 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산단계(S1020), 상기 판단의 결과 병합에 의해 부호화하지 않는 것으로 판단하는 경우 병합에 의하지 않고 부호 움직임정보를 생성하는 움직임정보 직접계산단계(S1030)를 포함한다.
여기서, 병합판단단계(S1010)는 병합판단부(210)의 동작에 대응되며, 병합움직임정보 계산단계(S1020)는 병합움직임정보 계산부(220)의 동작에 대응되며, 움직임정보 직접계산단계(S1030)는 움직임정보 직접계산부(230)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 움직임정보 복원방법은, 이웃 블록의 움직임정보로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단단계(S1110), 상기 병합판단단계에서 병합에 의해 복원하는 것으로 결정하는 경우, 상기 부호 움직임정보에 포함된 병합플래그를 수신하여 상기 병합플래그가 “병합됨”을 나타내는 경우, 상기 병합후보블록의 움직임정보 정보가 모두 같은 경우에는 상기 병합후보블록의 움직임정보 정보 중에서 어느 하나를 현재블록의 움직임정보로 설정하고 상기 병합후보블록의 움직임정보 정보가 모두 같지 않은 경우에는 병합방향 플래그를 수신하여 상기 병합방향플래그가 가리키는 블록의 움직임정보를 현재 블록의 움직임정보로 설정하고, 상기 병합플래그가 “병합되지 않음”을 나타내는 경우 상기 부호움직임정보에 포함된 움직임정보를 수신하여 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호단계(S1120), 상기 병합판단단계에서 병합에 의해 복원하지 않는 것으로 결정하는 경우 현재 블록의 움직임정보를 상기 부호 움직임정보로부터 추출하는 움직임정보 직접복호단계(S1130)를 포함한다.
여기서, 병합판단단계(S1110)는 병합판단부(610)의 동작에 대응되며, 병합움직임정보 복호단계(S1120)는 병합움직임정보 복호부(220)의 동작에 대응되며, 움직임정보 직접복호단계(S1130)는 움직임정보 직접복호부(630)의 동작에 대응되므로 상세한 설명은 생략한다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 본 발명의 일 실시예에 따른 영상 부호화 방법과 본 발명의 일 실시예에 따른 영상 복호화 방법을 결합하여 구현함으로써 실현할 수 있다.
본 발명의 일 실시예에 따른 영상 부호화/복호화 방법은, 움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 현재 블록의 부호 움직임정보를 생성하고 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성한 후 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하고 상기 부호 움직임정보와 상기 양자화된 주파수 잔차블록을 엔트로피부호화하여 비트스트림을 생성하는 영상 부호화단계; 및 비트스트림을 수신하여 부호 움직임정보 및 잔차블록을 복원하고 이미 복호화된 정보를 기반으로 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 생성한 예측블록과 상기 복원된 잔차 블록을 가산하여 현재 블록을 복원하는 영상 복호화단계를 포함한다.
여기서 영상 부호화단계는 본 발명의 일 실시예에 따른 영상 부호화 방법으로 구현 가능하며, 영상 복호화단계는 본 발명의 일 실시예에 따른 영상 복호화 방법으로 구현 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, 움직임 정보를 병합하여 부호화하는데 있어서 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인가를 판단하여 병합관련 데이터양을 줄임으로써 움직임 정보를 효율적으로 부호화하여 부호화 효율을 높일 수 있는 매우 유용한 발명이다.
Claims (54)
- 삭제
- 영상을 부호화하는 장치에 있어서,
움직임보상을 이용하여 현재 블록의 예측블록을 생성하고 이미 부호화된 정보를 기반으로 움직임정보를 병합에 의해 부호화할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 현재 블록의 부호 움직임정보를 생성하는 인터예측부;
상기 현재 블록에서 상기 예측블록을 감산하여 잔차블록을 생성하는 감산부;
상기 잔차블록을 주파수변환하고 양자화하여 양자화된 주파수 잔차블록을 생성하는 변환 및 양자화부;
상기 양자화된 주파수 잔차블록과 상기 부호 움직임정보를 엔트로피부호화하여 비트스트림을 생성하는 부호화부
를 포함하고,
상기 부호 움직임정보는, 상기 현재 블록의 이웃 블록으로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 생성되는 것을 특징으로 하는 영상 부호화 장치. - 삭제
- 제 2항에 있어서, 상기 인터예측부는,
상기 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 상기 부호 움직임정보를 병합에 의해 부호화할 것인가를 결정하는 병합판단부;
상기 병합판단부에서 상기 부호 움직임정보를 병합에 의해 부호화하는 것으로 결정하는 경우 상기 현재블록의 움직임정보가 상기 현재 블록의 이웃 블록으로 이루어진 병합후보블록의 움직임정보와 일치하는지 여부에 따라 상기 부호 움직임정보를 병합에 의해 생성하는 병합움직임정보 계산부; 및
상기 병합판단부에서 상기 부호 움직임정보를 병합에 의해 부호화하지 않는 것으로 결정하는 경우 병합에 의하지 않고 상기 부호 움직임정보를 생성하는 움직임정보 직접계산부
를 포함하는 것을 특징으로 하는 영상 부호화 장치. - 제 4항에 있어서,
상기 현재 블록의 이웃 블록의 움직임정보로 이루어진 병합후보블록의 움직임정보의 집합 중에서 어느 하나의 움직임정보가 상기 현재 블록의 움직임정보와 일치하는 경우에, 병합에 의해 생성되는 부호 움직임정보는 "병합됨"을 의미하는 병합플래그를 포함하고,
상기 병합후보블록의 움직임정보 집합 중에서 일부의 움직임정보는 상기 현재 블록의 움직임정보와 일치하고 일부의 움직임정보는 상기 현재 블록의 움직임정보와 일치하지 않는 경우에, 상기 부호 움직임정보는 "병합됨"을 의미하는 병합플래그와 상기 병합후보블록 중에서 상기 현재 블록의 움직임정보와 일치하는 움직임정보를 갖는 블록을 나타내는 병합방향플래그를 포함하고,
상기 병합후보블록의 움직임정보 집합 중에서 모든 움직임정보가 상기 현재 블록의 움직임정보와 일치하지 않는 경우에는, 병합에 의해 생성되는 상기 부호 움직임정보는 "병합되지 않음"을 나타내는 병합플래그 및 상기 현재 블록의 움직임정보를 포함하는 것을 특징으로 하는 영상 부호화 장치. - 제 4항에 있어서,
상기 병합에 의하지 않고 직접 생성되는 부호 움직임정보는,
병합플래그는 포함하지 않고 상기 현재 블록의 움직임정보를 포함하는 것을 특징으로 하는 영상 부호화 장치. - 제 4항에 있어서,
상기 부호 움직임정보를 병합에 의해 부호화할 것인가의 결정은, 상기 현재블록의 크기가 기설정 크기보다 큰지 여부를 추가로 판단하여 결정하는 것을 특징으로 하는 영상 부호화 장치. - 제 5항에 있어서,
상기 병합판단블록의 움직임정보의 집합 또는 상기 병합후보블록의 움직임정보의 집합은,
상기 현재 블록의 가장 왼쪽위의 샘플의 왼쪽 샘플을 포함하는 이웃 블록의 움직임정보, 상기 현재 블록의 가장 왼쪽위의 샘플의 위쪽 샘플을 포함하는 이웃 블록의 움직임정보, 상기 현재 블록의 가장 왼쪽위의 샘플의 왼쪽샘플의 바로 위쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보, 및 상기 현재 블록의 가장 오른쪽 위의 샘플의 바로 위 오른쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보 중에서 하나 이상을 각각 포함하는 것을 특징으로 하는 영상 부호화 장치. - 제 8항에 있어서,
상기 병합판단블록의 움직임정보의 집합과 상기 병합후보블록의 움직임정보의 집합은 서로 일치하거나 또는 서로 일치하지 않는 것을 특징으로 하는 영상 부호화 장치. - 제 5항에 있어서,
상기 움직임정보가 서로 유사한지 여부 혹은 일치하는지 여부의 판단은,
상기 움직임정보에 포함되는 움직임벡터만으로 판단하거나 참조프레임이 서로 같은 경우에 상기 움직임벡터를 이용하여 판단하는 것을 특징으로 하는 영상 부호화 장치. - 영상을 복호화하는 장치에 있어서,
부호화 데이터를 수신하여 현재 블록에 대한 부호 움직임정보 및 양자화계수열을 추출하고 양자화된 주파수 잔차블록을 복원하는 복호화부;
상기 양자화된 주파수 잔차블록을 역양자화하고 역변환하여 잔차블록을 복원하는 역양자화 및 역변환부;
이미 복호화된 정보를 기반으로 상기 현재 블록의 움직임정보를 병합에 의해 복원할 것인지 여부를 판단하여 상기 판단결과에 따라 상기 부호 움직임정보로부터 상기 현재 블록의 움직임정보를 복원하고 상기 복원된 움직임정보를 이용하여 상기 현재 블록의 예측블록을 생성하는 인터예측부; 및
상기 복원된 잔차 블록과 상기 예측블록을 가산하여 상기 현재 블록을 복원하는 가산부
를 포함하고,
상기 복원된 움직임정보는, 상기 현재 블록의 이웃 블록으로 이루어진 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 복원되는 것을 특징으로 하는 영상 복호화 장치. - 삭제
- 제 11항에 있어서, 상기 인터예측부는,
상기 병합판단블록의 모든 움직임정보가 서로 유사한지 여부에 따라 상기 현재블록의 움직임정보를 병합에 의해 복원할 것인가를 결정하는 병합판단부;
상기 병합판단부에서 상기 현재블록의 움직임정보를 병합에 의해 복원하는 것으로 결정하는 경우, 상기 부호 움직임정보에 포함된 병합플래그를 수신하여 상기 병합플래그가 “병합됨”을 나타내는 경우, 상기 현재 블록에 이웃하는 블록으로 이루어진 병합후보블록의 모든 움직임정보가 서로 일치하는 경우에는 상기 병합후보블록의 움직임정보 중에서 어느 하나를 상기 현재블록의 움직임정보로 설정하고 상기 병합후보블록의 모든 움직임정보가 서로 일치하지 않은 경우에는 병합방향 플래그를 수신하여 상기 병합방향플래그가 가리키는 블록의 움직임정보를 상기 현재 블록의 움직임정보로 설정하고, 상기 병합플래그가 “병합되지 않음”을 나타내는 경우 상기 부호 움직임정보에 포함된 움직임정보를 수신하여 상기 현재 블록의 움직임정보로 설정하는 병합움직임정보 복호부; 및
상기 병합판단부에서 병합에 의해 복원하지 않는 것으로 결정하는 경우 상기 현재 블록의 움직임정보를 상기 부호 움직임정보로부터 추출하는 움직임정보 직접복호부
를 포함하는 것을 특징으로 하는 영상 복호화 장치. - 제 13항에 있어서,
상기 병합방향플래그가 가리키는 블록은 상기 현재 블록의 이웃블록으로 이루어진 병합후보블록의 집합 중에서 하나인 것을 특징으로 하는 영상 복호화 장치. - 제 14항에 있어서,
상기 병합판단블록의 움직임정보의 집합 또는 상기 병합후보블록의 움직임정보의 집합은,
상기 현재 블록의 가장 왼쪽위의 샘플의 왼쪽 샘플을 포함하는 이웃 블록의 움직임정보, 상기 현재 블록의 가장 왼쪽위의 샘플의 위쪽 샘플을 포함하는 이웃 블록의 움직임정보, 상기 현재 블록의 가장 왼쪽위의 샘플의 왼쪽샘플의 바로 위쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보, 및 상기 현재 블록의 가장 오른쪽 위의 샘플의 바로 위 오른쪽에 위치한 샘플을 포함하는 이웃 블록의 움직임정보 중에서 하나 이상을 각각 포함하는 것을 특징으로 하는 영상 복호화 장치. - 제 15항에 있어서,
상기 병합판단블록의 움직임정보의 집합과 상기 병합후보블록의 움직임정보의 집합은 서로 일치하거나 또는 서로 일치하지 않는 것을 특징으로 하는 영상 복호화 장치. - 제 13항에 있어서,
상기 움직임정보가 서로 유사한지 여부의 판단은,
상기 움직임정보에 포함되는 움직임벡터만으로 판단하거나 참조프레임이 서로 같은 경우에 상기 움직임벡터를 이용하여 판단하는 것을 특징으로 하는 영상 복호화 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100127985A KR101506446B1 (ko) | 2010-12-15 | 2010-12-15 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
CN201610308620.0A CN105828085B (zh) | 2010-12-15 | 2011-12-15 | 视频解码方法 |
PCT/KR2011/009673 WO2012081917A2 (ko) | 2010-12-15 | 2011-12-15 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
CN201610307932.XA CN105847832B (zh) | 2010-12-15 | 2011-12-15 | 视频解码方法 |
CN201610308617.9A CN105847834B (zh) | 2010-12-15 | 2011-12-15 | 视频解码装置 |
CN201610308383.8A CN105847833B (zh) | 2010-12-15 | 2011-12-15 | 视频解码装置 |
CN201180060212.3A CN103262538B (zh) | 2010-12-15 | 2011-12-15 | 利用运动信息集成来生成编码运动信息/恢复运动信息的方法和装置、使用该方法和装置的图像编码/解码方法和装置 |
US13/914,910 US9270996B2 (en) | 2010-12-15 | 2013-06-11 | Method and apparatus for generating encoded motion information/recovering motion information using motion information integration, and image encoding/decoding method and apparatus using same |
US14/937,277 US9888248B2 (en) | 2010-12-15 | 2015-11-10 | Method and apparatus for generating encoded motion information /recovering motion information using motion information integration, and image encoding/decoding method and apparatus using same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20100127985A KR101506446B1 (ko) | 2010-12-15 | 2010-12-15 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20140055120A Division KR101483688B1 (ko) | 2014-05-08 | 2014-05-08 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120066741A KR20120066741A (ko) | 2012-06-25 |
KR101506446B1 true KR101506446B1 (ko) | 2015-04-08 |
Family
ID=46245230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20100127985A KR101506446B1 (ko) | 2010-12-15 | 2010-12-15 | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9270996B2 (ko) |
KR (1) | KR101506446B1 (ko) |
CN (5) | CN103262538B (ko) |
WO (1) | WO2012081917A2 (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645398B2 (en) | 2011-10-25 | 2020-05-05 | Texas Instruments Incorporated | Sample-based angular intra-prediction in video coding |
US10291827B2 (en) | 2013-11-22 | 2019-05-14 | Futurewei Technologies, Inc. | Advanced screen content coding solution |
US10638143B2 (en) | 2014-03-21 | 2020-04-28 | Futurewei Technologies, Inc. | Advanced screen content coding with improved color table and index map coding methods |
KR102260146B1 (ko) | 2014-03-31 | 2021-06-03 | 인텔렉추얼디스커버리 주식회사 | 시점 간 움직임 병합 후보 유도 방법 및 장치 |
US10091512B2 (en) * | 2014-05-23 | 2018-10-02 | Futurewei Technologies, Inc. | Advanced screen content coding with improved palette table and index map coding methods |
CN112956194A (zh) * | 2018-11-08 | 2021-06-11 | Oppo广东移动通信有限公司 | 图像信号编码/解码方法及其设备 |
CN113228645A (zh) * | 2018-12-28 | 2021-08-06 | 韩国电子通信研究院 | 图像编码/解码方法和装置以及存储有比特流的记录介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970004896A (ko) * | 1995-06-29 | 1997-01-29 | 동영상 감축을 위한 움직임 벡터 추정방법 | |
KR20010000248A (ko) * | 2000-08-29 | 2001-01-05 | 안병엽 | 영상 압축 시스템에 있어서 템플릿 패턴 코딩을 이용한가변 블록 사이즈 움직임 보상 장치 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5608458A (en) * | 1994-10-13 | 1997-03-04 | Lucent Technologies Inc. | Method and apparatus for a region-based approach to coding a sequence of video images |
US6163575A (en) * | 1995-10-20 | 2000-12-19 | Nokia Mobile Phones Limited | Motion vector field coding |
KR20040105866A (ko) * | 2002-04-11 | 2004-12-16 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 움직임 추정 유닛 및 움직임 벡터 추정 방법 |
HUP0301368A3 (en) * | 2003-05-20 | 2005-09-28 | Amt Advanced Multimedia Techno | Method and equipment for compressing motion picture data |
CN1225127C (zh) * | 2003-09-12 | 2005-10-26 | 中国科学院计算技术研究所 | 一种用于视频编码的编码端/解码端双向预测方法 |
KR100991344B1 (ko) * | 2003-11-29 | 2010-11-01 | 엘지전자 주식회사 | 영상을 디코딩하는 방법 |
AR049727A1 (es) * | 2004-07-20 | 2006-08-30 | Qualcomm Inc | Metodo y aparato para la conversion ascendente de la velocidad de las tramas con multiples tramas de referencia y tamanos de bloques variables |
KR100728031B1 (ko) * | 2006-01-23 | 2007-06-14 | 삼성전자주식회사 | 가변 블록 크기 움직임 예측을 위한 부호화 모드 결정 방법및 장치 |
US20080126278A1 (en) * | 2006-11-29 | 2008-05-29 | Alexander Bronstein | Parallel processing motion estimation for H.264 video codec |
US8090022B2 (en) * | 2007-01-05 | 2012-01-03 | Sony Corporation | Video coding system |
RU2426267C2 (ru) * | 2007-01-08 | 2011-08-10 | Нокиа Корпорейшн | Усовершенствованное межуровневое предсказание для расширенной пространственной масштабируемости при кодировании видеосигнала |
CN101014129B (zh) * | 2007-03-06 | 2010-12-15 | 孟智平 | 一种视频数据压缩方法 |
WO2008126843A1 (ja) * | 2007-04-09 | 2008-10-23 | Ntt Docomo, Inc. | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム |
JP5666293B2 (ja) * | 2007-04-12 | 2015-02-12 | トムソン ライセンシングThomson Licensing | ビデオ・エンコーディング、およびデコーディングのためのスキップ/ダイレクトモードのコンテクストに依存するマージのための方法と装置 |
GB2449887A (en) * | 2007-06-06 | 2008-12-10 | Tandberg Television Asa | Replacement of spurious motion vectors for video compression |
WO2009032255A2 (en) * | 2007-09-04 | 2009-03-12 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
CN101415116B (zh) * | 2007-10-15 | 2011-08-03 | 华为技术有限公司 | 一种确定对应宏块的方法和系统 |
CN101472174A (zh) * | 2007-12-29 | 2009-07-01 | 智多微电子(上海)有限公司 | 视频解码器中用于复原原始图像数据的方法及装置 |
US8495564B2 (en) * | 2008-02-19 | 2013-07-23 | International Business Machines Corporation | Automated merging in a software development environment |
CN101562745B (zh) * | 2008-04-18 | 2012-07-04 | 华为技术有限公司 | 一种多视点视频图像编码和解码的方法及装置 |
KR100968371B1 (ko) * | 2008-04-25 | 2010-07-06 | 주식회사 코아로직 | 영상의 복호화 방법 및 장치 |
US8320674B2 (en) * | 2008-09-03 | 2012-11-27 | Sony Corporation | Text localization for image and video OCR |
TWI401972B (zh) * | 2009-06-23 | 2013-07-11 | Acer Inc | 時間性錯誤隱藏方法 |
CN101610413B (zh) * | 2009-07-29 | 2011-04-27 | 清华大学 | 一种视频的编码/解码方法及装置 |
US20110170608A1 (en) * | 2010-01-08 | 2011-07-14 | Xun Shi | Method and device for video transcoding using quad-tree based mode selection |
CN101815218B (zh) * | 2010-04-02 | 2012-02-08 | 北京工业大学 | 基于宏块特征的快速运动估计视频编码方法 |
-
2010
- 2010-12-15 KR KR20100127985A patent/KR101506446B1/ko active IP Right Grant
-
2011
- 2011-12-15 WO PCT/KR2011/009673 patent/WO2012081917A2/ko active Application Filing
- 2011-12-15 CN CN201180060212.3A patent/CN103262538B/zh active Active
- 2011-12-15 CN CN201610308617.9A patent/CN105847834B/zh active Active
- 2011-12-15 CN CN201610307932.XA patent/CN105847832B/zh active Active
- 2011-12-15 CN CN201610308383.8A patent/CN105847833B/zh active Active
- 2011-12-15 CN CN201610308620.0A patent/CN105828085B/zh active Active
-
2013
- 2013-06-11 US US13/914,910 patent/US9270996B2/en active Active
-
2015
- 2015-11-10 US US14/937,277 patent/US9888248B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970004896A (ko) * | 1995-06-29 | 1997-01-29 | 동영상 감축을 위한 움직임 벡터 추정방법 | |
KR20010000248A (ko) * | 2000-08-29 | 2001-01-05 | 안병엽 | 영상 압축 시스템에 있어서 템플릿 패턴 코딩을 이용한가변 블록 사이즈 움직임 보상 장치 |
Also Published As
Publication number | Publication date |
---|---|
CN105828085A (zh) | 2016-08-03 |
WO2012081917A2 (ko) | 2012-06-21 |
US9888248B2 (en) | 2018-02-06 |
CN105847833A (zh) | 2016-08-10 |
CN105847832A (zh) | 2016-08-10 |
US20130272419A1 (en) | 2013-10-17 |
CN105847834B (zh) | 2019-03-26 |
WO2012081917A3 (ko) | 2012-10-04 |
US20160065972A1 (en) | 2016-03-03 |
CN103262538B (zh) | 2016-09-28 |
US9270996B2 (en) | 2016-02-23 |
CN105847834A (zh) | 2016-08-10 |
CN105847832B (zh) | 2019-02-22 |
CN105847833B (zh) | 2018-12-04 |
KR20120066741A (ko) | 2012-06-25 |
CN103262538A (zh) | 2013-08-21 |
CN105828085B (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101997604B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR101484171B1 (ko) | 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법 | |
KR101943049B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
US9473773B2 (en) | Method and apparatus for encoding frequency transformed block using frequency mask table, and method and apparatus for encoding/decoding video using same | |
KR101681303B1 (ko) | 블록 분할예측을 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101506446B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
US11997269B2 (en) | Method and device for subband coding frequency conversion unit, and method and device for image encoding/decoding using same | |
KR20130057953A (ko) | 세밀한 예측 단위를 사용하는 효과적인 부호화/복호화 방법 및 장치 | |
KR101943058B1 (ko) | 영상 부호화/복호화 방법 및 장치 | |
KR101377529B1 (ko) | 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101658592B1 (ko) | 영상의 구조적 정보를 이용한 적응적 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101567986B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101567982B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101567961B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101527153B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101483688B1 (ko) | 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR20160083832A (ko) | 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치 | |
KR101766600B1 (ko) | 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법 | |
KR101672085B1 (ko) | 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법 | |
KR101401857B1 (ko) | 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법 | |
KR20180090975A (ko) | 영상 부호화/복호화 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20180307 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190304 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 6 |