KR20130041041A - Method and apparatus for encoding and decoding coding unit of picture boundary - Google Patents
Method and apparatus for encoding and decoding coding unit of picture boundary Download PDFInfo
- Publication number
- KR20130041041A KR20130041041A KR1020130035966A KR20130035966A KR20130041041A KR 20130041041 A KR20130041041 A KR 20130041041A KR 1020130035966 A KR1020130035966 A KR 1020130035966A KR 20130035966 A KR20130035966 A KR 20130035966A KR 20130041041 A KR20130041041 A KR 20130041041A
- Authority
- KR
- South Korea
- Prior art keywords
- unit
- encoding
- boundary
- encoding unit
- coding unit
- 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/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
-
- 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/103—Selection of coding mode or of prediction mode
-
- 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/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
본 발명은 영상 부호화, 복호화 방법 및 장치에 관한 것으로 보다 상세히는 픽처 경계의 영상 부호화 단위를 부호화, 복호화하는 방법 및 장치에 관한 것이다. BACKGROUND OF THE
MPEG-1, MPEG-2, MPEG-4 H.264/MPEG-4 AVC(Advanced Video coding)와 같은 영상 압축 방식에서는 영상을 부호화하기 위해서 소정 크기의 블록으로 나눈다. 그런 다음, 인터 예측(inter prediction) 또는 인트라 예측(intra prediction)을 이용해 각각의 블록을 예측 부호화한다. In an image compression method such as MPEG-1, MPEG-2, and MPEG-4 H.264 / MPEG-4 Advanced Video coding (AVC), an image is divided into blocks of a predetermined size for encoding. Then, each block is predictively encoded using inter prediction or intra prediction.
본 발명이 해결하고자 하는 기술적 과제는 픽처 경계의 부호화 단위를 부호화, 복호화하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for encoding and decoding an encoding unit of a picture boundary, and a computer-readable recording medium having recorded thereon a program for executing the method.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 부호화 방법은 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단하는 단계; 상기 판단 결과에 기초해 제1 부호화 단위를 적어도 하나의 제2 부호화 단위로 분할하는 단계; 및 상기 분할 결과 생성된 적어도 하나의 제2 부호화 단위 중 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위만 부호화하는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of encoding an image, the method comprising: determining whether a first coding unit includes an area outside a boundary of a current picture; Dividing a first encoding unit into at least one second encoding unit based on the determination result; And encoding only a second encoding unit that is not out of bounds of the current picture among at least one second encoding unit generated as a result of the division.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위의 부호화 시에 상기 제1 부호화 단위의 분할 여부를 나타내는 정보는 부호화하지 않는 것을 특징으로 한다.According to a further preferred embodiment of the present invention, the information indicating whether the first coding unit is divided is not encoded when the second coding unit which is not outside the boundary of the current picture is coded.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 제1 부호화 단위의 심도와 상기 제2 부호화 단위의 심도는 상이하며, 상기 심도는 현재 슬라이스 또는 현재 픽처의 최대 부호화 단위에서 상기 제1 부호화 단위 및 상기 제2 부호화 단위로 단계적으로 축소된 정도를 나타내는 것을 특징으로 한다.According to a further preferred embodiment of the present invention, the depth of the first encoding unit and the depth of the second encoding unit are different from each other, and the depth of the first encoding unit and the depth of the current encoding unit of the current slice or the current picture, And a degree of stepwise reduction in the second encoding unit.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 판단하는 단계는 상기 제1 부호화 단위의 좌측 또는 우측 경계가 상기 현재 픽처의 좌측 또는 우측 경계를 벗어나는지 판단하는 단계를 포함한다.According to a preferred embodiment of the present invention, the determining step includes determining whether the left or right boundary of the first coding unit is out of the left or right boundary of the current picture.
본 발명에 따른 보다 바람직한 실시예에 따르면, 상기 판단하는 단계는 상기 제1 부호화 단위의 상부 또는 하부 경계가 상기 현재 픽처의 상부 또는 하부 경계를 벗어나는지 판단하는 단계를 포함한다.According to a more preferred embodiment of the present invention, the determining step includes determining whether an upper or lower boundary of the first coding unit is out of an upper or lower boundary of the current picture.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 복호화 방법은 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단하는 단계; 상기 판단 결과에 기초해 상기 제1 부호화 단위를 분할하여 생성된 적어도 하나의 제2 부호화 단위 중 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 파싱하는 단계; 및 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 복호화하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of decoding an image, the method comprising: determining whether a first coding unit includes an area outside a boundary of a current picture; Parsing data for a second encoding unit that is not out of bounds of the current picture among at least one second encoding unit generated by dividing the first encoding unit based on the determination result; And decoding the data for the second encoding unit that does not deviate from the boundary of the current picture.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 부호화 장치는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단하는 판단부; 상기 판단 결과에 기초해 제1 부호화 단위를 적어도 하나의 제2 부호화 단위로 분할하는 제어부; 및 상기 분할 결과 생성된 적어도 하나의 제2 부호화 단위 중 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위만 부호화하는 부호화부를 포함한다.According to an aspect of the present invention, there is provided an apparatus for encoding an image, the apparatus comprising: a determination unit determining whether a first coding unit includes an area outside a boundary of a current picture; A controller for dividing the first encoding unit into at least one second encoding unit based on the determination result; And an encoding unit encoding only a second encoding unit that is not out of bounds of the current picture among at least one second encoding unit generated as a result of the division.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 영상 복호화 장치는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단하는 판단부; 상기 판단 결과에 기초해 상기 제1 부호화 단위를 분할하여 생성된 적어도 하나의 제2 부호화 단위 중 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 파싱하는 파싱부; 및 상기 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 복호화하는 복호화부를 포함한다.According to an aspect of the present invention, there is provided an apparatus for decoding an image, comprising: a determiner configured to determine whether a first coding unit includes an area deviating from a boundary of a current picture; A parsing unit for parsing data for a second encoding unit that is not out of bounds of the current picture among at least one second encoding unit generated by dividing the first encoding unit based on the determination result; And a decoding unit decoding the data for the second encoding unit that does not deviate from the boundary of the current picture.
상기 기술적 과제를 해결하기 위해 본 발명의 일 실시예는 상기된 영상 부호화 방법 및 영상 복호화 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다. According to an aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for executing the image encoding method and the image decoding method.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.
도 3은 본 발명의 일 실시예에 따른 계층적 부호화 단위를 도시한다.
도 4는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부를 도시한다.
도 5는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부를 도시한다.
도 6은 본 발명의 일 실시예에 따른 최대 부호화 단위, 서브 부호화 단위 및 예측 단위를 도시한다.
도 7은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위를 도시한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 주파수 변환 단위의 분할 형태를 도시한다.
도 9는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.
도 10a 및 10b는 본 발명의 일 실시예에 따른 픽처 경계의 부호화 단위를 도시한다.
도 11a 및 11b는 본 발명의 일 실시예에 따른 픽처 경계의 부호화 단위를 분할하는 방법을 도시한다.
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위 및 분할 방법을 도시한다.
도 13a 및 13b는 본 발명의 일 실시예에 따른 인트라 예측 방법을 도시한다.
도 14는 본 발명의 일 실시예에 따른 최대 부호화 단위의 인덱싱(indexing)을 도시한다.
도 15는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 16은 본 발명의 일 실시예에 또 다른 영상 복호화 장치를 도시한다.
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 18a 내지 18g는 현재 픽처의 경계를 벗어난 영역을 포함하는 2Nx2N 크기의 제1 부호화 단위의 예측 모드들을 도시한다.
도 19는 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 20a 및 20b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위를 부호화하는 방법을 설명하기 위한 도면이다.
도 21은 본 발명의 또 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 22는 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 23a 및 23b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위를 부호화하는 방법을 설명하기 위한 도면이다.
도 24는 본 발명의 또 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다. 1 illustrates an image encoding apparatus according to an embodiment of the present invention.
FIG. 2 illustrates an image decoding apparatus according to an embodiment of the present invention.
3 illustrates a hierarchical coding unit according to an embodiment of the present invention.
FIG. 4 illustrates an image encoding unit based on an encoding unit according to an embodiment of the present invention.
FIG. 5 illustrates an image decoding unit based on an encoding unit according to an embodiment of the present invention.
FIG. 6 illustrates a maximum encoding unit, a sub-encoding unit, and a prediction unit according to an embodiment of the present invention.
7 shows an encoding unit and a conversion unit according to an embodiment of the present invention.
FIGS. 8A and 8B show a division form of an encoding unit, a prediction unit, and a frequency conversion unit according to an embodiment of the present invention.
9 illustrates an image encoding apparatus according to another embodiment of the present invention.
FIGS. 10A and 10B show coding units of picture boundaries according to an embodiment of the present invention.
11A and 11B illustrate a method of dividing an encoding unit of a picture boundary according to an embodiment of the present invention.
12A and 12B show a picture boundary coding unit and a dividing method according to another embodiment of the present invention.
13A and 13B illustrate an intra prediction method according to an embodiment of the present invention.
FIG. 14 illustrates indexing of a maximum encoding unit according to an embodiment of the present invention.
15 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
FIG. 16 illustrates still another image decoding apparatus according to an embodiment of the present invention.
17 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
Figs. 18A to 18G show prediction modes of a first encoding unit of 2Nx2N size including an out-of-bounds area of the current picture.
FIG. 19 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
20A and 20B are views for explaining a method of encoding a picture unit boundary coding unit according to another embodiment of the present invention.
FIG. 21 is a flowchart illustrating a video decoding method according to another embodiment of the present invention.
22 is a flowchart illustrating a method of encoding an image according to another embodiment of the present invention.
FIGS. 23A and 23B are diagrams for explaining a method of coding a picture unit boundary coding unit according to another embodiment of the present invention.
24 is a flowchart illustrating a video decoding method according to another embodiment of the present invention.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.
도 1 은 본 발명의 일 실시예에 따른 영상 부호화 장치를 도시한다.1 illustrates an image encoding apparatus according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 최대 부호화 단위 분할부(110), 부호화 심도 결정부(120), 영상 데이터 부호화부(130) 및 부호화 정보 부호화부(140)를 포함한다.Referring to FIG. 1, an image encoding
최대 부호화 단위 분할부(110)는 최대 크기의 부호화 단위인 최대 부호화 단위에 기반하여 현재 픽처 또는 현재 슬라이스를 분할할 수 있다. 현재 픽처 또는 현재 슬라이스를 적어도 하나의 최대 부호화 단위로 분할할 수 있다. The maximum coding
본 발명의 일 실시예에 따르면, 최대 부호화 단위 및 심도를 이용해 부호화 단위가 표현될 수 있다. 전술한 바와 같이 최대 부호화 단위는 현재 픽처의 부호화 단위 중 크기가 가장 큰 부호화 단위를 나타내며, 심도는 부호화 단위가 계층적으로 축소된 정도를 나타낸다. 심도가 커지면서, 부호화 단위는 최대 부호화 단위로부터 최소 부호화 단위까지 축소될 수 있으며, 최대 부호화 단위의 심도는 최소 심도로 정의되고, 최소 부호화 단위의 심도는 최대 심도로 정의될 수 있다. 최대 부호화 단위는 심도가 커짐에 따라 심도별 부호화 단위의 크기는 감소하므로, k 심도의 서브 부호화 단위는 k보다 큰 심도의 복수 개의 서브 부호화 단위를 포함할 수 있다.According to an embodiment of the present invention, a coding unit may be expressed using a maximum coding unit and a depth. As described above, the maximum encoding unit indicates the largest encoding unit among the encoding units of the current picture, and the depth indicates the degree to which the encoding units are hierarchically reduced. As the depth increases, the coding unit may be reduced from the maximum coding unit to the minimum coding unit, the depth of the maximum coding unit may be defined as the minimum depth, and the depth of the minimum coding unit may be defined as the maximum depth. As the depth of the maximum encoding unit increases, the size of the depth-dependent encoding unit decreases. Therefore, the sub-encoding unit of k depth may include a plurality of sub-encoding units of depth greater than k.
부호화되는 픽처의 크기가 커짐에 따라, 더 큰 단위로 영상을 부호화하면 더 높은 영상 압축률로 영상을 부호화할 수 있다. 그러나, 부호화 단위를 크게 하고, 그 크기를 고정시켜버리면, 계속해서 변하는 영상의 특성을 반영하여 효율적으로 영상을 부호화할 수 없다. As the size of a picture to be encoded increases, if an image is coded in a larger unit, the image can be encoded with a higher image compression rate. However, if the coding unit is enlarged and its size is fixed, the image can not be efficiently encoded reflecting the characteristics of the continuously changing image.
예를 들어, 바다 또는 하늘에 대한 평탄한 영역을 부호화할 때에는 부호화 단위를 크게 할수록 압축률이 향상될 수 있으나, 사람들 또는 빌딩에 대한 복잡한 영역을 부호화할 때에는 부호화 단위를 작게 할수록 압축률이 향상된다.For example, when coding a flat area with respect to the sea or sky, the compression rate can be improved by increasing the coding unit. However, when coding a complex area for people or buildings, the compression ratio is improved as the coding unit is decreased.
이를 위해 본 발명의 일 실시예는 픽처 또는 슬라이스마다 상이한 크기의 최대 영상 부호화 단위를 설정하고, 최대 심도를 설정한다. 최대 심도는 부호화 단위가 축소될 수 있는 최대 횟수를 의미하므로, 최대 심도에 따라 최대 영상 부호화 단위에 포함된 최소 부호화 단위 크기를 가변적으로 설정할 수 있게 된다.To this end, one embodiment of the present invention sets a maximum image encoding unit of a different size for each picture or slice, and sets a maximum depth. Since the maximum depth means the maximum number of times the encoding unit can be reduced, the minimum encoding unit size included in the maximum image encoding unit can be variably set according to the maximum depth.
부호화 심도 결정부(120)는 최대 심도를 결정한다. 최대 심도는 R-D 코스트(Rate-Distortion Cost) 계산에 기초해 결정될 수 있다. 최대 심도는 픽처 또는 슬라이스마다 상이하게 결정되거나, 각각의 최대 부호화 단위마다 상이하게 결정될 수도 있다. 결정된 최대 심도는 부호화 정보 부호화부(140)로 출력되고, 최대 부호화 단위별 영상 데이터는 영상 데이터 부호화부(130)로 출력된다. The encoding
최대 심도는 최대 부호화 단위에 포함될 수 있는 가장 작은 크기의 부호화 단위 즉, 최소 부호화 단위를 의미한다. 다시 말해, 최대 부호화 단위는 상이한 심도에 따라 상이한 크기의 서브 부호화 단위로 분할될 수 있다. 도 8a 및 8b를 참조하여 상세히 후술한다. 또한, 최대 부호화 단위에 포함된 상이한 크기의 서브 부호화 단위들은 상이한 크기의 처리 단위에 기초해 예측 또는 주파수 변환(픽셀 도메인의 값들을 주파수 도메인의 값들로 변환, 예를 들어, 이산 코사인 변환)될 수 있다. 다시 말해, 영상 부호화 장치(100)는 영상 부호화를 위한 복수의 처리 단계들을 다양한 크기 및 다양한 형태의 처리 단위에 기초해 수행할 수 있다. 영상 데이터의 부호화를 위해서는 예측, 주파수 변환, 엔트로피 부호화 등의 처리 단계를 거치는데, 모든 단계에 걸쳐서 동일한 크기의 처리 단위가 이용될 수도 있으며, 단계별로 상이한 크기의 처리 단위를 이용할 수 있다.The maximum depth means the smallest encoding unit, that is, the minimum encoding unit, which can be included in the maximum encoding unit. In other words, the maximum coding unit may be divided into sub-coding units having different sizes according to different depths. Will be described later in detail with reference to Figs. 8A and 8B. In addition, sub-coding units of different sizes included in the largest coding unit may be predicted or frequency transformed (eg, discrete cosine transformed values of the pixel domain into values of the frequency domain) based on processing units of different sizes. have. In other words, the
예를 들어 영상 부호화 장치(100)는 소정의 부호화 단위를 예측하기 위해, 부호화 단위와 다른 처리 단위를 선택할 수 있다. For example, in order to predict a predetermined encoding unit, the
부호화 단위의 크기가 2Nx2N(단, N은 양의 정수)인 경우, 예측을 위한 처리 단위는 2Nx2N, 2NxN, Nx2N, NxN 등일 수 있다. 다시 말해, 부호화 단위의 높이 또는 너비 중 적어도 하나를 반분하는 형태의 처리 단위를 기반으로 움직임 예측이 수행될 수도 있다. 이하, 예측의 기초가 되는 처리 단위는 '예측 단위'라 한다.If the size of the encoding unit is 2Nx2N (where N is a positive integer), the processing unit for prediction may be 2Nx2N, 2NxN, Nx2N, NxN, and the like. In other words, motion prediction may be performed based on a processing unit of half of at least one of a height or a width of a coding unit. Hereinafter, a processing unit serving as a basis of prediction is referred to as a 'prediction unit'.
예측 모드는 인트라 모드, 인터 모드 및 스킵 모드 중 적어도 하나일 수 있으며, 특정 예측 모드는 특정 크기 또는 형태의 예측 단위에 대해서만 수행될 수 있다. 예를 들어, 인트라 모드는 정방형인 2Nx2N, NxN 크기의 예측 단위에 대해서만 수행될 수 있다. 또한, 스킵 모드는 2Nx2N 크기의 예측 단위에 대해서만 수행될 수 있다. 부호화 단위 내부에 복수의 예측 단위가 있다면, 각각의 예측 단위에 대해 예측을 수행하여 부호화 오차가 가장 작은 예측 모드가 선택될 수 있다.The prediction mode may be at least one of an intra mode, an inter mode, and a skip mode, and the specific prediction mode may be performed only for a prediction unit of a specific size or shape. For example, the intra mode may be performed only for a prediction unit having a square size of 2N × 2N or N × N. In addition, the skip mode can be performed only for a prediction unit of 2Nx2N size. If there are a plurality of prediction units in the coding unit, a prediction mode having the smallest encoding error may be selected by performing prediction for each prediction unit.
또한, 영상 부호화 장치(100)는 부호화 단위와 다른 크기의 처리 단위에 기초해 영상 데이터를 주파수 변환할 수 있다. 부호화 단위의 주파수 변환을 위해서 부호화 단위보다 작거나 같은 크기의 데이터 단위를 기반으로 주파수 변환이 수행될 수 있다. 이하, 주파수 변환의 기초가 되는 처리 단위를 '변환 단위'라 한다.Also, the
부호화 심도 결정부(120)는 라그랑지 곱(Lagrangian Multiplier) 기반의 율-왜곡 최적화 기법(Rate-Distortion Optimization)을 이용해 최대 부호화 단위에 포함된 서브 부호화 단위들을 결정할 수 있다. 다시 말해, 최대 부호화 단위가 어떠한 형태의 복수의 서브 부호화 단위로 분할되는지 결정할 수 있는데, 여기서 복수의 서브 부호화 단위는 심도에 따라 크기가 상이하다. 그런 다음, 영상 데이터 부호화부(130)는 부호화 심도 결정부(120)에서 결정된 분할 형태에 기초해 최대 부호화 단위를 부호화하여 비트스트림을 출력한다. The
부호화 정보 부호화부(140)는 부호화 심도 결정부(120)에서 결정된 최대 부호화 단위의 부호화 모드에 대한 정보를 부호화한다. 최대 부호화 단위의 분할 형태에 대한 정보, 최대 심도에 대한 정보 및 심도별 서브 부호화 단위의 부호화 모드에 대한 정보를 부호화하여 비트스트림을 출력한다. 서브 부호화 단위의 부호화 모드에 대한 정보는 서브 부호화 단위의 예측 단위에 대한 정보, 예측 단위별 예측 모드 정보, 서브 부호화 단위의 변환 단위에 대한 정보 등을 포함할 수 있다.The encoding
최대 부호화 단위의 분할 형태에 대한 정보는 각각의 부호화 단위에 대해 분할 여부를 나타내는 정보일 수 있다. 예를 들어, 최대 부호화 단위를 분할하여 부호화하는 경우, 최대 부호화 단위에 대해 분할 여부를 나타내는 정보를 부호화하고, 최대 부호화 단위를 분할하여 생성된 서브 부호화 단위를 다시 분할하여 부호화하는 경우에도, 각각의 서브 부호화 단위에 대해서 분할 여부를 나타내는 정보를 부호화한다. 분할 여부를 나타내는 정보는 분할 여부를 나타내는 플래그 정보일 수 있다.The information on the division type of the maximum encoding unit may be information indicating whether or not the division is performed for each encoding unit. For example, when the maximum encoding unit is divided and encoded, information indicating whether or not the maximum encoding unit is divided is encoded, and even when the sub-encoding unit generated by dividing the maximum encoding unit is divided and coded again, Information indicating whether or not the sub-encoding unit is divided is encoded. The information indicating whether or not to divide may be flag information indicating whether or not to divide.
최대 부호화 단위마다 상이한 크기의 서브 부호화 단위가 존재하고, 각각의 서브 부호화 단위마다 부호화 모드에 관한 정보가 결정되어야 하므로, 하나의 최대 부호화 단위에 대해서는 적어도 하나의 부호화 모드에 관한 정보가 결정될 수 있다. There is a sub-encoding unit of a different size for each maximum encoding unit, and information on the encoding mode is determined for each sub-encoding unit, so that information on at least one encoding mode can be determined for one maximum encoding unit.
영상 부호화 장치(100)는 심도가 커짐에 따라 최대 부호화 단위를 높이 및 너비를 반분하여 서브 부호화 단위를 생성할 수 있다. 즉, k 심도의 부호화 단위의 크기가 2Nx2N이라면, k+1 심도의 부호화 단위의 크기는 NxN 이다. As the depth increases, the
따라서, 일 실시예에 따른 영상 부호화 장치(100)는 영상의 특성을 고려한 최대 부호화 단위의 크기 및 최대 심도를 기반으로, 각각의 최대 부호화 단위마다 최적의 분할 형태를 결정할 수 있다. 영상 특성을 고려하여 가변적으로 최대 부호화 단위의 크기를 조절하고, 상이한 심도의 서브 부호화 단위로 최대 부호화 단위를 분할하여 영상을 부호화함으로써, 다양한 해상도의 영상을 보다 효율적으로 부호화할 수 있다. Accordingly, the
도 2 는 본 발명의 일 실시예에 따른 영상 복호화 장치를 도시한다.FIG. 2 illustrates an image decoding apparatus according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(200)는 영상 데이터 획득부(210), 부호화 정보 추출부(220) 및 영상 데이터 복호화부(230)를 포함한다. Referring to FIG. 2, the
영상 관련 데이터 획득부(210)는 영상 복호화 장치(200)가 수신한 비트스트림을 파싱하여, 최대 부호화 단위별로 영상 데이터를 획득하여 영상 데이터 복호화부(230)로 출력한다. 영상 데이터 획득부(210)는 현재 픽처 또는 슬라이스에 대한 헤더로부터 현재 픽처 또는 슬라이스의 최대 부호화 단위에 대한 정보를 추출할 수 있다. 다시 말해, 비트스트림을 최대 부호화 단위로 분할하여, 영상 데이터 복호화부(230)가 최대 부호화 단위마다 영상 데이터를 복호화하게 한다.The image-related
부호화 정보 추출부(220)는 영상 복호화 장치(200)가 수신한 비트열을 파싱하여, 현재 픽처에 대한 헤더로부터 최대 부호화 단위, 최대 심도, 최대 부호화 단위의 분할 형태, 서브 부호화 단위의 부호화 모드에 관한 정보를 추출한다. 분할 형태 및 부호화 모드에 관한 정보는 영상 데이터 복호화부(230)로 출력된다. The encoding information extracting unit 220 parses the bit stream received by the
최대 부호화 단위의 분할 형태에 대한 정보는 최대 부호화 단위에 포함된 심도에 따라 상이한 크기의 서브 부호화 단위에 대한 정보를 포함할 수 있다. 전술한 바와 같이 분할 형태에 대한 정보는 각각의 부호화 단위에 대해 부호화된 분할 여부를 나타내는 정보(예를 들어, 플래그 정보)일 수 있다.The information on the division type of the maximum encoding unit may include information on the sub-encoding units of different sizes depending on the depth included in the maximum encoding unit. As described above, the information on the division type may be information (e.g., flag information) indicating whether or not the division is coded for each coding unit.
부호화 모드에 관한 정보는 서브 부호화 단위별 예측 단위에 대한 정보, 예측 모드에 대한 정보 및 변환 단위에 대한 정보 등을 포함할 수 있다. The information on the encoding mode may include information on a prediction unit for each sub-encoding unit, information on a prediction mode, and information on a conversion unit.
영상 데이터 복호화부(230)는 부호화 정보 추출부에서 추출된 정보에 기초하여 각각의 최대 부호화 단위의 영상 데이터를 복호화하여 현재 픽처를 복원한다. The image
최대 부호화 단위의 분할 형태에 대한 정보에 기초하여, 영상 데이터 복호화부(230)는 최대 부호화 단위에 포함된 서브 부호화 단위를 복호화할 수 있다. 복호화 과정은 인트라 예측 및 움직임 보상을 포함하는 움직임 예측 과정, 및 주파수 역변환 과정을 포함할 수 있다.The image
영상 데이터 복호화부(230)는, 서브 부호화 단위의 예측을 위해, 서브 부호화 단위별 예측 단위에 대한 정보 및 예측 모드에 대한 정보에 기초해 인트라 예측 또는 인터 예측을 수행할 수 있다. 또한, 영상 데이터 복호화부(230)는, 서브 부호화 단위의 변환 단위에 대한 정보에 기초해 서브 부호화 단위마다 주파수 역변환을 수행할 수 있다.The image
도 3 은 본 발명의 일 실시예에 따른 계층적 부호화 단위를 도시한다.FIG. 3 illustrates a hierarchical encoding unit according to an embodiment of the present invention.
도 3을 참조하면, 본 발명에 따른 계층적 부호화 단위는 너비x높이가 64x64인 부호화 단위부터, 32x32, 16x16, 8x8, 및 4x4를 포함할 수 있다. 정사각형 형태의 부호화 단위 이외에도, 너비x높이가 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, 4x8인 부호화 단위들이 존재할 수 있다.Referring to FIG. 3, the hierarchical coding unit according to the present invention may include 32x32, 16x16, 8x8, and 4x4 starting from a coding unit having a width x height of 64x64. In addition to the square coding units, there may be coding units having a width x height of 64x32, 32x64, 32x16, 16x32, 16x8, 8x16, 8x4, and 4x8.
도 3을 참조하면, 해상도가 1920x1080인 영상 데이터(310)에 대해서, 최대 부호화 단위의 크기는 64x64, 최대 심도가 2로 설정되어 있다. Referring to FIG. 3, the maximum encoding unit size is set to 64x64 and the maximum depth is set to 2 for the
또 다른 해상도가 1920x1080인 영상 데이터(320)에 대해서 최대 부호화 단위의 크기는 64x64, 최대 심도가 4로 설정되어 있다. 해상도가 352x288인 비디오 데이터(330)에 대해서 최대 부호화 단위의 크기는 16x16, 최대 심도가 2로 설정되어 있다.The size of the maximum encoding unit is set to 64x64 and the maximum depth is set to 4 for the
해상도가 높거나 데이터량이 많은 경우 압축률 향상뿐만 아니라 영상 특성을 정확히 반영하기 위해 부호화 사이즈의 최대 크기가 상대적으로 큰 것이 바람직하다. 따라서, 영상 데이터(330)에 비해, 해상도가 높은 영상 데이터(310 및 320)는 최대 부호화 단위의 크기가 64x64로 선택될 수 있다.When the resolution is high or the amount of data is large, it is desirable that the maximum size of the coding size be relatively large in order to not only improve the compression ratio but also accurately reflect the image characteristics. Therefore, the size of the maximum encoding unit of the
최대 심도는 계층적 부호화 단위에서 총 계층수를 나타낸다. 영상 데이터(310)의 최대 심도는 2이므로, 영상 데이터(310)의 부호화 단위(315)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 증가함에 따라 장축 크기가 32, 16인 서브 부호화 단위들까지 포함할 수 있다. The maximum depth represents the total number of layers in the hierarchical coding unit. Since the maximum depth of the
반면, 영상 데이터(330)의 최대 심도는 2이므로, 영상 데이터(330)의 부호화 단위(335)는 장축 크기가 16인 최대 부호화 단위들로부터, 심도가 증가함에 따라 장축 크기가 8, 4인 부호화 단위들까지 포함할 수 있다. On the other hand, since the maximum depth of the
영상 데이터(320)의 최대 심도는 4이므로, 비디오 데이터(320)의 부호화 단위(325)는 장축 크기가 64인 최대 부호화 단위로부터, 심도가 증가함에 따라 장축 크기가 32, 16, 8, 4인 서브 부호화 단위들까지 포함할 수 있다. 심도가 증가할수록 더 작은 서브 부호화 단위에 기초해 영상을 부호화하므로 보다 세밀한 장면을 포함하고 있는 영상을 부호화하는데 적합해진다.Since the maximum depth of the
도 4 는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 부호화부를 도시한다.FIG. 4 illustrates an image encoding unit based on an encoding unit according to an embodiment of the present invention.
인트라 예측부(410)는 현재 프레임(405) 중 인트라 모드의 예측 단위에 대해 인트라 예측을 수행하고, 움직임 추정부(420) 및 움직임 보상부(425)는 인터 모드의 예측 단위에 대해 현재 프레임(405) 및 참조 프레임(495)을 이용해 인터 예측 및 움직임 보상을 수행한다.The
인트라 예측부(410), 움직임 추정부(420) 및 움직임 보상부(425)로부터 출력된 예측 단위에 기초해 레지듀얼 값들이 생성되고, 생성된 레지듀얼 값들은 주파수 변환부(430) 및 양자화부(440)를 거쳐 양자화된 변환 계수로 출력된다. Residual values are generated based on the prediction unit output from the
양자화된 변환 계수는 역양자화부(460), 주파수 역변환부(470)를 통해 다시 레지듀얼 값으로 복원되고, 복원된 레지듀얼 값들은 디블로킹부(480) 및 루프 필터링부(490)를 거쳐 후처리되어 참조 프레임(495)으로 출력된다. 양자화된 변환 계수는 엔트로피 부호화부(450)를 거쳐 비트스트림(455)으로 출력될 수 있다.The quantized transform coefficients are restored to the residual values through the
본 발명의 일 실시예에 따른 영상 부호화 방법에 따라 부호화하기 위해, 영상 부호화부(400)의 구성 요소들인 인트라 예측부(410), 움직임 추정부(420), 움직임 보상부(425), 주파수 변환부(430), 양자화부(440), 엔트로피 부호화부(450), 역양자화부(460), 주파수 역변환부(470), 디블로킹부(480) 및 루프 필터링부(490)는 모두 최대 부호화 단위, 심도에 따른 서브 부호화 단위, 예측 단위 및 변환 단위에 기초해 영상 부호화 과정들을 처리한다. In order to encode according to an image encoding method according to an embodiment of the present invention, the components of the
도 5는 본 발명의 일 실시예에 따른 부호화 단위에 기초한 영상 복호화부를 도시한다.FIG. 5 illustrates an image decoding unit based on an encoding unit according to an embodiment of the present invention.
비트스트림(505)이 파싱부(510)를 거쳐 복호화 대상인 부호화된 영상 데이터 및 복호화를 위해 필요한 부호화 정보가 파싱된다. 부호화된 영상 데이터는 엔트로피 복호화부(520) 및 역양자화부(530)를 거쳐 역양자화된 데이터로 출력되고, 주파수 역변환부(540)를 거쳐 레지듀얼 값들로 복원된다. 레지듀얼 값들은 인트라 예측부(550)의 인트라 예측의 결과 또는 움직임 보상부(560)의 움직임 보상 결과와 가산되어 부호화 단위 별로 복원된다. 복원된 부호화 단위는 디블로킹부(570) 및 루프 필터링부(580)를 거쳐 다음 부호화 단위 또는 다음 픽처의 예측에 이용된다. The
본 발명의 일 실시예에 따른 영상 복호화 방법에 따라 복호화하기 위해 영상 복호화부(400)의 구성 요소들인 파싱부(510), 엔트로피 복호화부(520), 역양자화부(530), 주파수 역변환부(540), 인트라 예측부(550), 움직임 보상부(560), 디블로킹부(570) 및 루프 필터링부(580)가 모두 최대 부호화 단위, 심도에 따른 서브 부호화 단위, 예측 단위 및 변환 단위에 기초해 영상 복호화 과정들을 처리한다. Parsing
특히, 인트라 예측부(550), 움직임 보상부(560)는 최대 부호화 단위 및 심도를 고려하여 서브 부호화 단위 내의 예측 단위 및 예측 모드를 결정하며, 주파수 역변환부(540)는 변환 단위의 크기를 고려하여 주파수 역변환을 수행한다.In particular, the
도 6은 본 발명의 일 실시예에 따른 최대 부호화 단위, 서브 부호화 단위 및 예측 단위를 도시한다.FIG. 6 illustrates a maximum encoding unit, a sub-encoding unit, and a prediction unit according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 장치(100) 및 영상 복호화 장치(200)는 영상 특성을 고려하여 부호화, 복호화를 수행하기 위해 계층적인 부호화 단위를 이용한다. 최대 부호화 단위 및 최대 심도는 영상의 특성에 따라 적응적으로 설정되거나, 사용자의 요구에 따라 다양하게 설정될 수 있다. The
본 발명의 일 실시예에 따른 부호화 단위의 계층 구조(600)는 최대 부호화 단위(610)의 높이 및 너비가 64이며, 최대 심도가 4인 경우를 도시한다. 부호화 단위의 계층 구조(600)의 세로축을 따라서 심도가 증가하고, 심도의 증가에 따라 서브 부호화 단위(620 내지 650)의 높이 및 너비가 축소된다. 또한, 부호화 단위의 계층 구조(600)의 가로축을 따라, 최대 부호화 단위(610) 및 서브 부호화 단위(620 내지 650)의 예측 단위가 도시되어 있다.The
최대 부호화 단위(610)는 심도가 0이며, 부호화 단위의 크기, 즉 높이 및 너비가 64x64이다. 세로축을 따라 심도가 증가하며, 크기 32x32인 심도 1의 서브 부호화 단위(620), 크기 16x16인 심도 2의 서브 부호화 단위(630), 크기 8x8인 심도 3의 서브 부호화 단위(640), 크기 4x4인 심도 4의 서브 부호화 단위(650)가 존재한다. 크기 4x4인 심도 4의 서브 부호화 단위(650)는 최소 부호화 단위이다.The
도 6을 참조하면, 각각의 심도별로 가로축을 따라 예측 단위의 예시들이 도시되어 있다. 즉, 심도 0의 최대 부호화 단위(610)의 예측 단위는, 크기 64x64의 부호화 단위(610)와 동일하거나 작은 크기인 크기 64x64의 예측 단위(610), 크기 64x32의 예측 단위(612), 크기 32x64의 예측 단위(614), 크기 32x32의 예측 단위(616)일 수 있다. Referring to FIG. 6, examples of prediction units along the horizontal axis are shown for each depth. That is, the prediction unit of the
심도 1의 크기 32x32의 부호화 단위(620)의 예측 단위는, 크기 32x32의 부호화 단위(620)와 동일하거나 작은 크기인 크기 32x32의 예측 단위(620), 크기 32x16의 예측 단위(622), 크기 16x32의 예측 단위(624), 크기 16x16의 예측 단위(626)일 수 있다. The prediction unit of the
심도 2의 크기 16x16의 부호화 단위(630)의 예측 단위는, 크기 16x16의 부호화 단위(630)와 동일하거나 작은 크기인 크기 16x16의 예측 단위(630), 크기 16x8의 예측 단위(632), 크기 8x16의 예측 단위(634), 크기 8x8의 예측 단위(636)일 수 있다. The prediction unit of the
심도 3의 크기 8x8의 부호화 단위(640)의 예측 단위는, 크기 8x8의 부호화 단위(640)와 동일하거나 작은 크기인 크기 8x8의 예측 단위(640), 크기 8x4의 예측 단위(642), 크기 4x8의 예측 단위(644), 크기 4x4의 예측 단위(646)일 수 있다. The prediction unit of the
마지막으로, 심도 4의 크기 4x4의 부호화 단위(650)는 최소 부호화 단위이며 최대 심도의 부호화 단위이고, 예측 단위는 크기 4x4의 예측 단위(650)이다.Finally, the
도 7은 본 발명의 일 실시예에 따른, 부호화 단위 및 변환 단위를 도시한다.7 shows an encoding unit and a conversion unit according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 장치(100) 및 영상 복호화 장치(200)는, 최대 부호화 단위 그대로 부호화하거나, 최대 부호화 단위 보다 작거나 같은 서브 부호화 단위로 최대 부호화 단위를 분할하여 부호화한다. 부호화 과정 중 주파수 변환을 위한 변환 단위의 크기는 각각의 부호화 단위보다 크지 않은 변환 단위로 선택된다. 예를 들어, 현재 부호화 단위(710)가 64x64 크기일 때, 32x32 크기의 변환 단위(720)를 이용하여 주파수 변환이 수행될 수 있다. The
도 8a 및 8b는 본 발명의 일 실시예에 따른, 부호화 단위, 예측 단위 및 주파수 변환 단위의 분할 형태를 도시한다.FIGS. 8A and 8B show a division form of an encoding unit, a prediction unit, and a frequency conversion unit according to an embodiment of the present invention.
도 8a는 본 발명의 일 실시예에 따른 부호화 단위 및 예측 단위를 도시한다. 8A shows an encoding unit and a prediction unit according to an embodiment of the present invention.
도 8a의 좌측은 최대 부호화 단위(810)를 부호화하기 위해 본 발명의 일 실시예에 따른 영상 부호화 장치(100)가 선택한 분할 형태를 도시한다. 영상 부호화 장치(100)는 다양한 형태로 최대 부호화 단위(810)를 분할하고, 부호화한 다음 다양한 분할 형태의 부호화 결과를 R-D 코스트에 기초해 비교하여 최적의 분할 형태를 선택한다. 최대 부호화 단위(810)를 그대로 부호화하는 것이 최적일 경우에는 도 8a 및 8b와 같이 최대 부호화 단위(810)를 분할하지 않고 최대 부호화 단위(800)를 부호화할 수도 있다. The left side of FIG. 8A shows a division type selected by the
도 8a의 좌측을 참조하면, 심도 0인 최대 부호화 단위(810)를 심도 1 이상의 서브 부호화 단위로 분할하여 부호화한다. 최대 부호화 단위(810)를 네 개의 심도 1의 서브 부호화 단위로 분할한 다음, 전부 또는 일부의 심도 1의 서브 부호화 단위를 다시 심도 2의 서브 부호화 단위로 분할한다.Referring to the left side of FIG. 8A, a maximum encoding unit 810 having a depth of 0 is divided into sub-encoding units having a depth of 1 or more and encoded. The maximum encoding unit 810 is divided into sub-encoding units of four
심도 1의 서브 부호화 단위 중 우측 상부에 외치한 서브 부호화 단위 및 좌측 하부에 위치한 서브 부호화 단위가 심도 2 이상의 서브 부호화 단위로 분할되었다. 심도 2 이상의 서브 부호화 단위 중 일부는 다시 심도 3 이상의 서브 부호화 단위로 분할될 수 있다.Among the sub-coding units of
도 8b의 우측은 최대 부호화 단위(810)에 대한 예측 단위의 분할 형태를 도시한다. The right side of FIG. 8B shows the division type of the prediction unit for the maximum coding unit 810.
도 8a의 우측을 참조하면, 최대 부호화 단위에 대한 예측 단위(860)는 최대 부호화 단위(810)와 상이하게 분할될 수 있다. 다시 말해, 서브 부호화 단위들 각각에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다. Referring to the right side of FIG. 8A, the prediction unit 860 for the maximum coding unit can be divided into the maximum coding unit 810 and the prediction unit 860 for the maximum coding unit. In other words, the prediction unit for each of the sub coding units may be smaller than the sub coding unit.
예를 들어, 심도 1의 서브 부호화 단위 중 우측 하부에 외치한 서브 부호화 단위(854)에 대한 예측 단위는 서브 부호화 단위(854)보다 작을 수 있다. 심도 2의 서브 부호화 단위들(814, 816, 818, 828, 850, 852) 중 일부 서브 부호화 단위(815, 816, 850, 852)에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다. For example, a prediction unit for a
또한, 심도 3의 서브 부호화 단위(822, 832, 848)에 대한 예측 단위는 서브 부호화 단위보다 작을 수 있다. 예측 단위는 각각의 서브 부호화 단위를 높이 또는 너비 방향으로 반분한 형태일 수도 있고, 높이 및 너비 방향으로 4분한 형태일 수도 있다.In addition, the prediction unit for the
도 8b는 본 발명의 일 실시예에 따른 예측 단위 및 변환 단위를 도시한다. FIG. 8B shows a prediction unit and a conversion unit according to an embodiment of the present invention.
도 8b의 좌측은 도 8a의 우측에 도시된 최대 부호화 단위(810)에 대한 예측 단위의 분할 형태를 도시하고, 도 8b의 우측은 최대 부호화 단위(810)의 변환 단위의 분할 형태를 도시한다. The left side of FIG. 8B shows the division form of the prediction unit for the maximum coding unit 810 shown on the right side of FIG. 8A, and the right side of FIG. 8B shows the division form of the conversion unit of the maximum coding unit 810.
도 8b의 우측을 참조하면, 변환 단위(870)의 분할 형태는 예측 단위(860)와 상이하게 설정될 수 있다. Referring to the right side of FIG. 8B, the division type of the conversion unit 870 may be set differently from the prediction unit 860. [
예를 들어, 심도 1의 부호화 단위(854)에 대한 예측 단위가 높이를 반분한 형태로 선택되더라도, 변환 단위는 심도 1의 부호화 단위(854)의 크기와 동일한 크기로 선택될 수 있다. 마찬가지로, 심도 2의 부호화 단위(814, 850)에 대한 예측 단위가 심도 2의 부호화 단위(814, 850)의 높이를 반분한 형태로 선택되더라도 변환 단위는 심도 2의 부호화 단위(814, 850)의 원래 크기와 동일한 크기로 선택될 수 있다. For example, even if the prediction unit for the
예측 단위보다 더 작은 크기로 변환 단위가 선택될 수도 있다. 예를 들어, 심도 2의 부호화 단위(852)에 대한 예측 단위가 너비를 반분한 형태로 선택된 경우에 변환 단위는 예측 단위보다 더 작은 크기인 높이 및 너비를 반분한 형태로 선택될 수 있다.The conversion unit may be selected to be smaller than the prediction unit. For example, if the prediction unit for
도 9는 본 발명의 또 다른 실시예에 따른 영상 부호화 장치를 도시한다.9 illustrates a video encoding apparatus according to another embodiment of the present invention.
도 9를 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(900)는 판단부(910), 제어부(920) 및 부호화부(930)를 포함한다. 영상 부호화 장치(900)는 전술한 심도에 따라 단계적으로 크기가 바뀌는 부호화 단위, 예측 단위 및 변환 단위에 기초해 영상 부호화하는 장치일 수 있다.9, an image encoding apparatus 900 according to an exemplary embodiment of the present invention includes a
판단부(910)는 부호화를 위해 영상 부호화 장치(900)에 입력된 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다. The
영상 부호화 장치(900)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하지 않는 경우, 제1 부호화 단위를 그대로 부호화한다. 제1 부호화 단위를 분할하지 않고, 예측하고, 주파수 변환(예를 들어, 이산 코사인 변환)할 수도 있고, 제1 부호화 단위를 도 2, 6, 8a 및 8b와 관련하여 전술한 바와 같이 소정의 심도에 따라 복수의 부호화 단위로 분할한 다음, 예측하고, 주파수 변환할 수도 있다.If the first encoding unit does not include an area outside the boundary of the current picture, the image encoding device 900 codes the first encoding unit as it is. The first encoding unit may be predicted and not subjected to frequency division (for example, discrete cosine transform), and the first encoding unit may be divided into a predetermined depth as described above with reference to FIGS. 2, 6, 8A, And then frequency conversion may be performed.
그러나, 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는 경우에는 제1 부호화 단위를 분할하여 적어도 하나의 제2 부호화 단위를 생성한 다음, 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위만 부호화한다. However, if the first encoding unit includes an area outside the boundary of the current picture, the first encoding unit is divided to generate at least one second encoding unit, and then only the second encoding unit that does not deviate from the boundary of the current picture .
다시 말해, 영상 부호화 장치(900)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 여부에 따라 상이한 부호화 방법을 이용해 제1 부호화 단위를 부호화하는 바, 판단부(910)는 우선 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다. 도 10a 및 10b를 참조하여 후술한다. In other words, the image encoding apparatus 900 encodes the first encoding unit using a different encoding method depending on whether the first encoding unit includes an area outside the boundary of the current picture, and the
도 10a 및 10b는 본 발명의 일 실시예에 따른 픽처 경계의 부호화 단위를 도시한다. FIGS. 10A and 10B show coding units of picture boundaries according to an embodiment of the present invention.
도 10a 및 10b를 참조하면, 제1 부호화 단위(1020)는 현재 픽처의 경계(1010)에 걸쳐있다. 현재 픽처의 크기가 최대 부호화 단위의 크기의 배수가 아닌 경우, 예를 들어, 최대 부호화 단위의 크기를 32x32로 설정하여 현재 픽처를 부호화하는데 현재 픽처의 가로 또는 세로의 크기가 32의 배수가 아닌 경우에는 최대 부호화 단위가 현재 픽처의 경계(1010)를 벗어난 영역(1024)을 포함할 수 있다. 마찬가지로 도 10b와 같이 제1 부호화 단위(1040)가 현재 픽처의 경계(1030)를 벗어난 영역(1044)을 포함할 수 있다. 도 10a에서 현재 픽처의 경계(1010)의 좌측은 현재 픽처의 내부 영역이고, 우측은 현재 픽처의 외부 영역이며, 도 10b에서 현재 픽처의 경계(1030)의 상부는 현재 픽처의 내부 영역이고, 하부는 현재 픽처의 외부 영역이다. Referring to FIGS. 10A and 10B, the
도 10a 및 10b는 제1 부호화 단위(1020 또는 1040)가 현재 픽처의 우측 경계 및 하부 경계에 걸쳐있는 경우를 도시하였으나, 제1 부호화 단위(1020 또는 1040)가 현재 픽처의 좌측 경계 및 상부 경계에 걸쳐있는 경우도 있을 수 있다.10A and 10B show a case where the
판단부(910)는 도 10a 및 10b에 도시된 바와 같이 제1 부호화 단위(1020 또는 1040)가 현재 픽처의 경계(1010 또는 1030)를 벗어난 영역을 포함하고 있는지 여부를 판단하기 위해 제1 부호화 단위(1020 또는 1040)의 경계를 현재 픽처의 경계와 비교한다. 10A and 10B, the
제1 부호화 단위(1020)의 우측 경계가 현재 픽처의 우측 경계를 벗어나거나, 좌측 경계가 현재 픽처의 좌측 경계를 벗어나면, 제1 부호화 단위(1020)는 현재 픽처의 경계(1010)를 벗어난 영역을 포함하고 있는 것으로 판단할 수 있다. 또한, 제1 부호화 단위(1040)의 하부 경계가 현재 픽처의 하부 경계를 벗어나거나, 상부 경계가 현재 픽처의 상부 경계를 벗어나면, 제1 부호화 단위(1040)가 현재 픽처의 경계(1030)를 벗어난 영역을 포함하고 있는 것으로 판단할 수 있다.If the right boundary of the
다시 도 9를 참조하면, 판단부(910)에서 제1 부호화 단위(1020 또는 1040)가 현재 픽처의 경계를 벗어난 영역을 포함하고 있는 것으로 판단하면, 제어부(920)는 제1 부호화 단위(1020 또는 1040)를 적어도 하나의 제2 부호화 단위로 분할한다. 9, when the
본원 발명의 일 실시예에 따른 영상 부호화 장치(900)는 전술한 계층적인 부호화 단위를 이용해 영상을 부호화, 복호화할 수 있다. 최대 부호화 단위를 소정 심도의 서브 부호화 단위들로 나누어 영상을 부호화, 복호화할 수 있다. 이 때 심도는 최대 부호화 단위에서 소정 서브 부호화 단위로 단계적으로 축소된 정도를 나타낸다. The image encoding apparatus 900 according to an embodiment of the present invention can encode and decode an image using the hierarchical encoding unit. The maximum encoding unit can be divided into sub-encoding units having a predetermined depth to encode and decode an image. At this time, the depth indicates the degree of stepwise reduction from the maximum encoding unit to the predetermined sub-encoding unit.
제어부(920)는 이러한 심도에 따라 제1 부호화 단위(1020)를 적어도 하나의 제2 부호화 단위로 분할한다. 예를 들어, 제1 부호화 단위(1020)가 심도 0의 최대 부호화 단위인 경우, 적어도 하나의 심도 1의 부호화 단위로 제1 부호화 단위(1020)를 분할할 수 있다. 또한, 심도 1의 부호화 단위보다 심도가 큰 부호화 단위, 즉 심도가 2 이상인 부호화 단위로 제1 부호화 단위(1020)를 분할할 수도 있다. 도 11a 및 11b를 참조하여 상세히 설명한다. The
도 11a 및 11b는 본 발명의 일 실시예에 따른 픽처 경계의 부호화 단위를 분할하는 방법을 도시한다. 11A and 11B illustrate a method of dividing an encoding unit of a picture boundary according to an embodiment of the present invention.
도 11a는 도 10a에 도시된 제1 부호화 단위(1020)가 적어도 하나의 제2 부호화 단위(1110 내지 1140)로 분할되는 경우를 도시한다. 도 10a와 관련하여 전술한 바와 같이 제1 부호화 단위(1020)가 픽처 경계에 걸쳐있는 경우 제1 부호화 단위(1020)는 현재 픽처의 경계를 벗어난 영역(1024)을 포함한다. 11A shows a case where the
제1 부호화 단위(1020)를 상이한 심도의 적어도 하나의 제2 부호화 단위(1110 내지 1140)로 분할하여 현재 픽처의 경계를 벗어나지 않은 영역에 대한 제2 부호화 단위(1110 내지 1120)와 현재 픽처의 경계를 벗어난 영역에 대한 제2 부호화 단위(1130 내지 1140)로 구분한다.The
도 11b는 도 10b에 도시된 제1 부호화 단위(1040)가 적어도 하나의 제2 부호화 단위(1150 내지 1180)로 분할되는 경우를 도시한다.FIG. 11B shows a case where the
제1 부호화 단위(1040)를 상이한 심도의 적어도 하나의 제2 부호화 단위(1150 내지 1180)로 분할하여 현재 픽처의 경계를 벗어나지 않은 영역에 대한 제2 부호화 단위(1150 내지 1160)와 현재 픽처의 경계를 벗어난 영역에 대한 제2 부호화 단위(1170 내지 1180)로 구분한다.The
도 11a 및 11b는 제1 부호화 단위(1020 또는 1040)를 동일한 크기의 4개의 제2 부호화 단위로 분할하면, 경계를 벗어나지 않은 영역에 대한 제2 부호화 단위와 경계를 벗어난 영역에 대한 제2 부호화 단위를 구분할 수 있는 경우를 도시하였다. 그러나, 제1 부호화 단위(1020 또는 1040)를 동일한 크기의 4개의 제2 부호화 단위로 분할하여도, 경계를 벗어나지 않은 영역에 대한 제2 부호화 단위와 경계를 벗어난 영역에 대한 제2 부호화 단위를 구분할 수 없는 경우가 있다. 도 12a 및 12b를 참조하여 상세히 설명한다. 11A and 11B illustrate a case where the
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위 및 분할 방법을 도시한다.12A and 12B show a picture boundary coding unit and a dividing method according to another embodiment of the present invention.
도 12a에 도시된 바와 같이 제1 부호화 단위(1220)가 픽처 경계에 위치하는 경우, 제1 부호화 단위(1220)를 제2 부호화 단위(1230 내지 1260)로 분할하여도 현재 픽처의 경계를 벗어난 제2 부호화 단위와 경계를 벗어나지 않은 제2 부호화 단위를 구분할 수 없다. 일부 제2 부호화 단위(1250 및 1260)가 여전히 경계를 벗어난 영역과 경계를 벗어나지 않은 영역을 포함하고 있기 때문이다. 12A, when the
따라서, 분할 부는 도 12a에 도시된 바와 같이 제1 부호화 단위(1220)가 경계에 위치하는 경우, 제1 부호화 단위(1220)를 반복적으로 분할한다. 도 12a에 도시된 실시예에서는 제2 부호화 단위(1250 및 1260)를 한번 더 분할하여 제3 부호화 단위(1252 내지 1258, 1262 내지 1268)를 생성한다. Therefore, the dividing unit repeatedly divides the
제2 부호화 단위(1250 및 1260)를 더 작은 크기의 제3 부호화 단위로 한번 더 분할함으로써, 경계를 벗어나지 않은 부호화 단위(1230, 1240, 1252, 1254, 1262 및 1264)와 경계를 벗어난 부호화 단위(1256, 1258, 1266 및 1268)를 구분할 수 있다. By dividing the
다시 도 9를 참조하면, 제어부(920)가 도 11a, 11b 및 12b에 도시된 바와 같이 제1 부호화 단위(1020, 1040 또는 1220)를 분할하여, 경계를 벗어난 영역과 경계를 벗어나지 않은 영역을 구분하면, 부호화부(930)는 제1 부호화 단위를 분할하여 생성된 적어도 하나의 부호화 단위 중 현재 픽처의 경계를 벗어나지 않은 부호화 단위만 부호화한다. Referring again to FIG. 9, the
제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하지 않은 경우에는 제1 부호화 단위를 전부를 부호화한다. 제1 부호화 단위를 분할하지 않고, 예측하고, 주파수 변환(예를 들어, 이산 코사인 변환)할 수도 있고, 제1 부호화 단위를 도 2, 6, 8a 및 8b와 관련하여 전술한 바와 같이 소정의 심도에 따라 복수의 부호화 단위로 분할한 다음, 예측하고, 주파수 변환할 수도 있다.If the first coding unit does not include a region out of bounds of the current picture, the first coding unit is entirely coded. The first encoding unit may be predicted and not subjected to frequency division (for example, discrete cosine transform), and the first encoding unit may be divided into a predetermined depth as described above with reference to FIGS. 2, 6, 8A, And then frequency conversion may be performed.
그러나, 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는 경우에는 제어부(920)의 분할 결과에 따라, 경계를 벗어나지 않은 영역의 픽셀 값들만 부호화한다. However, if the first encoding unit includes an area outside the boundary of the current picture, only the pixel values of the area that does not deviate from the boundary are encoded according to the division result of the
도 11a에 도시된 실시예에서 좌측에 위치한 제2 부호화 단위(1110 및 1120)를 부호화하고, 도 11b에 도시된 실시예에서 상부에 위치한 제2 부호화 단위(1150 및 1160)를 부호화한다. 도 12b에 도시된 예에서는 좌측에 위치한 제2 부호화 단위(1230 및 1240)와 좌측에 위치한 제3 부호화 단위(1252, 1254, 1262 및 1264)를 부호화한다. 경계를 벗어나지 않은 부호화 단위를 소정의 예측 단위에 기초해 예측하고, 예측 결과 생성되는 레지듀얼 값들을 소정의 변환 단위에 기초해 주파수 변환한다.In the embodiment shown in FIG. 11A, the
본원 발명의 일 실시예에 따른 영상 부호화 장치(900)는 픽처 경계에 위치한 제1 부호화 단위 중 경계를 벗어나지 않은 픽셀 값들만 부호화할 수 있으므로, 경계를 벗어난 불필요한 픽셀 값들의 부호화에 따른 압축률 저하를 방지할 수 있다.Since the image encoding apparatus 900 according to an embodiment of the present invention can encode only pixel values that are not out of bounds among the first encoding units located at the picture boundary, it is possible to prevent the compression rate from being lowered due to encoding of unnecessary pixel values out of bounds can do.
또한, 부호화부(930)의 전술한 분할 여부에 대한 정보(예를 들어, 분할 여부를 나타내는 플래그 정보)도 선택적으로 부호화할 수 있다. 제1 부호화 단위가 픽처 경계에 걸쳐있는 경우 제1 부호화 단위는 제어부(920)에 의해 분할된다. 경계를 벗어나지 않은 영역의 픽셀 값들만 부호화하기 위해 분할은 필수적이므로, 제1 부호화 단위에 대해서는 분할 여부에 대한 정보를 부호화할 필요가 없다. 분할 여부에 대한 정보를 따로 부호화하지 않아도, 복호화하는 측에서 제1 부호화 단위가 분할되는 것을 알 수 있기 때문이다. In addition, the information on whether the
그러나, 전술한 영상 부호화 방법에 따라 부호화부(930)가 현재 픽처의 경계를 벗어난 영역의 픽셀 값들을 부호화하지 않기 때문에 경계에 걸쳐있는 제1 부호화 단위가 다른 부호화 단위의 예측에 이용되지 못하는 경우가 발생할 수 있다. 도 13a 및 13b를 참조해 상세히 설명한다. However, according to the above-described image encoding method, since the
도 13a 및 13b는 본 발명의 일 실시예에 따른 인트라 예측 방법을 도시한다.13A and 13B illustrate an intra prediction method according to an embodiment of the present invention.
도 13a를 참조하면, 본 발명의 일 실시예에 따른 인트라 예측 방법은 소정의 예측 단위(1310)를 인트라 예측함에 있어, 이전에 부호화된 인접한 픽셀 값들(1320)을 이용할 수 있다. 특히, 본 발명의 일 실시에에 따른 인트라 예측은 예측 단위(1310)의 좌측 하부의 새로 방향으로 'PuSize'만큼의 픽셀들을 더 이용할 수도 있다. Referring to FIG. 13A, an intra prediction method according to an embodiment of the present invention may use previously encoded
본 발명에 따른 영상 부호화 방법은 도 8a에 도시된 바와 같이 계층적인 부호화 단위를 이용해 영상을 부호화한다. 따라서, 예측 단위(1310)의 좌측은 물론 좌측 하부에 인접한 픽셀들을 이용해 인트라 예측을 수행할 수 있다. 예를 들어, 도 8a의 부호화 단위(830)를 인트라 예측할 때, 부호화 단위(830)의 상부 및 우측 상부에 인접한 픽셀 즉, 부호화 단위(812)에 포함된 픽셀들은 물론, 부호화 단위(830)의 좌측 및 좌측 하부에 인접한 픽셀 즉, 부호화 단위(828)에 포함된 픽셀들을 이용해 인트라 예측을 수행할 수 있다.The image encoding method according to the present invention encodes an image using hierarchical coding units as shown in FIG. 8A. Accordingly, intraprediction can be performed using pixels adjacent to the left and lower left of the
그런데, 우측 상부 및 좌측 하부에 인접한 픽셀들이 이용 가능하지 않은 경우가 있을 수 있다. 도 13b에 도시된 바와 같이 부호화 단위(1330)를 부호화 할 때, 우측 상부에 인접한 픽셀 값들 중 일부 픽셀 값들(1346)을 이용할 수 없다. 우측 상부에 위치한 부호화 단위(1340)를 부호화할 때, 현재 픽처의 경계(1350)를 벗어난 영역의 부호화 단위(1344)는 부호화하지 않기 때문이다. 따라서, 부호화 단위(1330)의 인트라 예측에 이용할 수 있는 인접한 픽셀들은 상부, 좌측 및 좌측 하부의 픽셀들뿐이다.However, there may be cases where pixels adjacent to the upper right and lower left are not available. When encoding the
부호화부(130)는 우측 상부에 인접한 픽셀들을 이용할 수 있는지 여부를 판단하기 위해 'cux+cuSize+cuSize'가 전술한 'Frame_width'보다 큰지 판단한다. 'cux'는 부호화 단위(1330)의 좌측 경계의 X 좌표이고, 'cuSize'는 부호화 단위(1330)의 가로 및 세로 크기이며, 'Frame_width'는 혁재 픽처의 가로 크기이다.The
또한, 부호화부(130)는 좌측 하부에 인접한 픽셀들을 이용할 수 있는지 여부를 판단하기 위해 'cuy+cuSize+cuSize'가 전술한 'Frame_height'보다 큰지 판단한다. 'cux'는 부호화 단위(1330)의 좌측 경계의 X 좌표이고, 'cuSize'는 부호화 단위(1330)의 가로 및 세로 크기이며, 'Frame_height'는 현재 픽처의 세로 크기이다.In addition, the
부호화부(130)는 제1 부호화 단위가 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화 방법에 대한 정보, 즉 부호화 모드에 대한 정보를 보다 효율적으로 부호화할 수 있다. 제1 부호화 단위가 경계를 벗어난 영역을 포함하는 경우, 제1 부호화 모드가 다른 부호화 모드인 제2 부호화 모드를 의미하도록 부호화 모드에 대한 정보를 부호화할 수 있다.The
도 18a 내지 18g를 참조하여 제1 부호화 단위의 예측 모드에 대한 정보를 부호화하는 경우를 예로 들어 설명한다.An example of encoding information about a prediction mode of a first coding unit will be described with reference to FIGS. 18A to 18G.
도 18a 내지 18g는 현재 픽처의 경계를 벗어난 영역을 포함하는 2Nx2N 크기의 제1 부호화 단위의 예측 모드들을 도시한다. 도 18a 내지 18h에서 빗금친 영역이 현재 픽처의 경계를 벗어난 영역이다.18A to 18G illustrate prediction modes of a first coding unit having a size of 2N × 2N including an area outside a boundary of a current picture. In Figs. 18A to 18H, the hatched area is an area outside the boundary of the current picture.
도 18a를 참조하면, 2Nx2N의 제1 부호화 단위의 우측 Nx2N 영역이 경계를 벗어난 영역이다. 부호화부(930)가 도 18a의 제1 부호화 단위의 부호화함에 있어, 2Nx2N 크기의 예측 모드로 선택하여도 경계를 벗어난 영역은 예측을 수행하지 않으므로, Nx2N 예측 모드로 예측을 수행한다. Referring to FIG. 18A, the Nx2N area on the right side of the first encoding unit of 2Nx2N is an area outside the boundary. In encoding the first encoding unit of FIG. 18A, the
다시 말해, 부호화부(930)가 제1 부호화 단위의 예측 모드에 대한 정보를 2Nx2N 예측 모드로 설정하여도 Nx2N 예측 모드로 설정하는 경우와 동일하게 예측이 수행된다. 따라서, Nx2N 예측 모드를 별도로 설정할 필요가 없으며, 2Nx2N 예측 모드에 대한 정보를 Nx2N 예측 모드에 대한 정보로서 이용할 있다. 이는 예측 모드의 종류가 줄어드는 효과와 동일하며, 이에 따라 부호화부(930)가 예측 모드에 대한 정보를 부호화하기 위해 필요한 비트 수를 줄일 수 있다.In other words, even when the
마찬가지로 도 18b에서도 부호화부(930)는 제1 부호화 단위의 예측 모드를 2Nx2N 예측 모드로 설정하는 것으로 2NxN 예측 모드를 대신할 수 있다. Similarly, in FIG. 18B, the
도 18c에서 부호화부(930)는 제1 부호화 단위의 예측 모드를 2Nx2N 예측 모드로 설정하여 2NxN/2 예측 모드를 대신할 수 있다. 도 18b와 비교하면 도 18c에서는 예측되는 영역의 세로 크기가 1/2로 감소하였다. 그러나, 제1 부호화 단위에서 경계를 벗어나지 않은 영역만 예측하는 것은 도 18b와 동일하므로 제1 부호화 단위의 예측 모드를 2Nx2N 예측 모드로 설정하여 2NxN/2 예측 모드를 대신할 수 있다.In FIG. 18C, the
도 18d에서 부호화부(930)는 제1 부호화 단위의 예측 모드를 NxN 예측 모드로 설정하여 2NxN 예측 모드를 대신할 수 있다. 도 18d의 제1 부호화 단위가 2NxN 예측 모드로 예측되고, 제1 부호화 단위의 우측 반이 경계를 벗어난 영역에 포함된 경우 NxN 예측 모드와 동일하게 NxN 크기로 예측이 수행된다. 따라서, NxN 예측 모드로서 2NxN 예측 모드를 대신할 수 있다.In FIG. 18D, the
도 18e에서 부호화부(930)는 제1 부호화 단위의 예측 모드를 2NxN 예측 모드로 설정하여 2NxN/2 예측 모드를 대신할 수 있다. 도 18b와 비교하면 세로 크기가 1/2로 감소된 두 개의 예측 단위에 기초해 예측을 수행한다. 따라서, 도 18b에 따라 설정된 2Nx2N 예측 모드에서 세로 크기에 대한 부분만 1/2로 감소시킨 2NxN 예측 모드로 제1 부호화 단위의 예측 모드를 설정할 수 있다.In FIG. 18E, the
도 18f에서 부호화부(930)는 제1 부호화 단위의 예측 모드를 2Nx2N 예측 모드로 설정하여 NxN 예측 모드를 대신할 수 있다. 도 18f의 제1 부호화 단위도 도 18a, 18b 및 18c와 마찬가지로 제1 부호화 단위에서 경계를 벗어나지 않은 영역만 예측한다. 따라서, 제1 부호화 단위의 예측 모드를 2Nx2N 예측 모드로 설정하여 NxN 예측 모드를 대신할 수 있다.In FIG. 18F, the
도 18g에서 부호화부(930)는 제1 부호화 단위의 예측 모드를 Nx2N 예측 모드로 설정하여 N/2xN 예측 모드를 대신할 수 있다. 도 18f와 비교하면 가로 크기가 1/2로 감소된 두 개의 예측 단위에 기초해 예측을 수행한다. 따라서, 도 18b에 따라 설정된 2Nx2N 예측 모드에서 가로 부분을 1/2로 감소시킨 Nx2N 예측 모드로 제1 부호화 단위의 예측 모드를 설정할 수 있다.In FIG. 18G, the
도 9 내지 13와 관련하여 전술한, 영상 부호화 장치(900)의 부호화 과정은 다음과 같은 프로그래밍 코드에 의해 구현될 수 있다.
The encoding process of the image encoding apparatus 900 described above with reference to FIGS. 9 to 13 can be implemented by the following programming codes.
UInt uiLPelX UInt uiLPelX
UInt uiRPelX UInt uiRPelX
UInt uiTPelY UInt uiTPelY
UInt uiBPelY UInt uiBPelY
if( !(( uiRPelX < pcCU->getSlice()->getWidth() ) && ( uiBPelY < pcCU->getSlice()->getHeight() ) ))getSlice () -> getWidth ()) && (uiBPelY <pcCU-> getSlice () -> getHeight ())))
{{
go_next_depth_process(); go_next_depth_process ();
}
}
상기 프로그래밍 코드를 참조하면, 함수 'UInt uiLPeLX', 'UInt uiRPeLX', 'UInt uiTPeLY' 및 'UInt uiBPeLY'를 이용해 제1 부호화 단위의 왼쪽 X 좌표, 오른쪽 X 좌표, 상부 Y 좌표 및 하부 Y 좌표를 얻고, 'pcCU->getSlice()->getWidth()' 및 'uiBPelY < pcCU->getSlice()->getHeight()'를 이용해 현재 픽처의 가로 크기 및 현재 픽처의 세로 크기를 얻는다. Referring to the programming code, a left X coordinate, a right X coordinate, an upper Y coordinate, and a lower Y coordinate of the first coding unit are calculated using the functions 'UInt uiLPeLX', 'UInt uiRPeLX', 'UInt uiTPeLY', and 'UInt uiBPeLY' And get the horizontal size of the current picture and the vertical size of the current picture using 'pcCU-> getSlice () -> getWidth ()' and 'uiBPelY <pcCU-> getSlice () -> getHeight ()'.
그런 다음, 제1 부호화 단위의 왼쪽 X 좌표와 현재 픽처의 가로 크기를 비교하고, 제1 부호화 단위의 하부 Y 좌표와 현재 픽처의 세로 크기를 비교한다. 제1 부호화 단위의 왼쪽 X 좌표가 현재 픽처의 가로 크기보다 크거나, 제1 부호화 단위의 하부 Y 좌표가 세로 크기보다 큰 경우에는 'go_next_depth_process()' 함수를 호출하여 다음 심도 즉 제1 부호화 단위의 심도 'k'보다 큰 심도 'k+1'의 제2 부호화 단위로 제1 부호화 단위를 분할하고, 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위만 부호화한다.Then, the left X coordinate of the first coding unit is compared with the horizontal size of the current picture, and the lower Y coordinate of the first coding unit is compared with the vertical size of the current picture. If the left X coordinate of the first coding unit is larger than the horizontal size of the current picture or the lower Y coordinate of the first coding unit is larger than the vertical size, the 'go_next_depth_process ()' function is called to set the next depth, The first encoding unit is divided into a second encoding unit of depth 'k + 1' that is greater than depth 'k', and only the second encoding unit that is not out of bounds of the current picture is encoded.
그러나, 영상 부호화 장치(900)가 도 9 내지 13에 도시된 바와 같이 현재 픽처의 경계를 벗어나지 않은 영역만 부호화하는 경우에도, 최대 부호화 단위의 주소는 경계를 벗어난 영역도 부호화된 것으로 가정하여 설정된다. 도 14를 참조하여 상세히 설명한다. However, even when the image encoding apparatus 900 encodes only an area not deviated from the boundary of the current picture as shown in FIGS. 9 to 13, the address of the maximum encoding unit is set assuming that an area outside the boundary is also coded . Will be described in detail with reference to FIG.
도 14는 본 발명의 일 실시예에 따른 최대 부호화 단위의 인덱싱(indexing)을 도시한다. FIG. 14 illustrates indexing of a maximum encoding unit according to an embodiment of the present invention.
도 14를 참조하면, 현재 픽처(1410)를 소정 크기의 최대 부호화 단위로 분할하여 부호화할 때, 현재 픽처의 넓이 'Frame_width' 및 높이 'Frame_height'가 최대 부호화 단위의 가로 크기의 배수가 아니라면, 도 14과 같이 현재 픽처(1310)의 오른쪽 경계 및 하부 경계에 최대 부호화 단위들이 걸쳐있게 된다. Referring to FIG. 14, when the
도 9 내지 13에서 본원 발명의 영상 부호화 장치(900)는 경계에 걸쳐있는 최대 부호화 단위를 부호화함에 있어, 현재 픽처의 경계를 벗어나지 않은 영역만 부호화한다. 그러나, 최대 부호화 단위의 주소를 설정할 때에는 'Frame_width' 및 'Frame_height'가 아닌 'Frame_widthN' 및 'Frame_heightN'을 기준으로 최대 부호화 단위의 주소를 설정한다. 다시 말해, 현재 픽처의 오른쪽 경계 및 하부 경계에 걸쳐있는 최대 부호화 단위에도 주소를 부가하여 최대 부호화 단위의 주소를 설정한다. 9 to 13, the image encoding apparatus 900 of the present invention encodes the maximum encoding unit spanning the boundary, and encodes only the region not exceeding the boundary of the current picture. However, when setting the address of the maximum encoding unit, the address of the maximum encoding unit is set based on 'Frame_widthN' and 'Frame_heightN' instead of 'Frame_width' and 'Frame_height'. In other words, an address is added to the maximum encoding unit that spans the right boundary and the lower boundary of the current picture to set the address of the maximum encoding unit.
예를 들어, 첫째 행의 가장 오른쪽에 위치한 최대 부호화 단위는 현재 픽처의 오른쪽 경계에 걸쳐있어, 경계를 벗어나지 않은 영역만 부호화되지만, 주소로서 'P' 부가되며, 따라서, 두 번째 행의 가장 왼쪽에 위치한 최대 부호화 단위의 주소는 'P+1'이 된다.'Frame_widthN' 및 'Frame_heightN'은 다음과 같이 계산될 수 있다.
For example, the largest coding unit located at the rightmost position of the first row is located at the right border of the current picture, and only the region not bounded by the boundary is coded, but the address is added with 'P' The address of the maximum encoding unit located is 'P + 1'. 'Frame_widthN' and 'Frame_heightN' can be calculated as follows.
If Frame_width%LcuSize not equal to 0,If Frame_width% LcuSize not equal to 0,
Frame_widthN = (Frame_width/LcuSize+1)*LcuSize Frame_widthN = (Frame_width / LcuSize + 1) * LcuSize
If Frame_height%LcuSize not equal to 0,If Frame_height% LcuSize not equal to 0,
Frame_heightN = (Frame_height/LcuSize+1)*LcuSize
Frame_heightN = (Frame_height / LcuSize + 1) * LcuSize
상기 계산식에서 'Frame_width%LcuSize'는 'Frame_width'를 'LcuSize'로 나눈 나머지를 의미하고, 'Frame_height%LcuSize'는 'Frame_height'를 'LcuSize'로 나눈 나머지를 의미한다. 'Frame_width/LcuSize'는 'Frame_width'를 'LcuSize'로 나눈 몫을 의미하고, 'Frame_height/LcuSize'는 'Frame_height'를 'LcuSize'로 나눈 몫을 의미한다. 'LcuSize'는 최대 부호화 단위가 정사각형일 때, 최대 부호화 단위의 가로 및 세로의 크기를 의미한다.'Frame_width% LcuSize' means a remainder obtained by dividing 'Frame_width' by 'LcuSize', and 'Frame_height% LcuSize' means a remainder obtained by dividing 'Frame_height' by 'LcuSize'. 'Frame_width / LcuSize' means a quotient obtained by dividing 'Frame_width' by 'LcuSize', and 'Frame_height / LcuSize' means a quotient obtained by dividing 'Frame_height' by 'LcuSize'. 'LcuSize' means the width and height of the largest encoding unit when the maximum encoding unit is square.
도 15는 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다. 15 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
도 15를 참조하면, 단계 1510에서 영상 부호화 장치(900)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다. 도 10a, 10b 및 12a와 같이 제1 부호화 단위가 픽처 경계에 걸쳐있어, 경계를 벗어난 영역을 포함하는지 판단한다. 경계를 벗어난 영역을 포함하는지 판단하기 위해 현재 픽처의 경계와 제1 부호화 단위의 경계를 비교한다. 제1 부호화 단위의 좌측 또는 우측 경계가 현재 픽처의 좌측 또는 우측 경계를 벗어나는지 판단하거나, 제1 부호화 단위의 상부 또는 하부 경계가 현재 픽처의 상부 또는 하부 경계를 벗어나는지 판단한다. Referring to FIG. 15, in
단계 1520에서 영상 부호화 장치(900)는 단계 1510에서의 판단 결과에 기초해 제1 부호화 단위를 적어도 하나의 제2 부호화 단위로 분할한다. 제1 부호화 단위의 심도 'k'보다 큰 심도 'k+1'의 제2 부호화 단위로 제1 부호화 단위를 분할할 수 있다. 제2 부호화 단위로 분할하였으나, 제2 부호화 단위가 또 다시 픽처 경계를 벗어난 영역을 포함하는 것으로 판단되면, 분할을 반복하여 분할 결과 생성된 부호화 단위가 픽처 경계를 벗어난 영역을 포함하지 않을 때까지 제1 부호화 단위를 분할한다. In
단계 1530에서 영상 부호화 장치(900)는 단계 1520에서의 분할 결과 생성된 적어도 하나의 제2 부호화 단위 중에서 픽처 경계를 벗어나지 않은 제2 부호화 단위만 선택적으로 부호화한다. 제2 부호화 단위를 예측하여, 레지듀얼 값들을 생성하고, 생성된 레지듀얼 값들을 주파수 변환, 양자화, 엔트로피 부호화한다. 또한, 영상 부호화 장치(900)는 픽처 경계에 걸쳐있는 제1 부호화 단위의 분할은 필수적이므로, 제1 부호화 단위에 대해서는 분할 여부를 나타내는 정보를 부호화하지 않을 수 있다. In
또한, 도 18a 내지 18g와 관련하여 전술한 바와 같이 영상 부호화 장치(900)는 제1 부호화 단위가 경계를 벗어난 영역을 포함하지는 여부에 기초해 부호화 모드에 대한 정보를 부호화할 수 있다.In addition, as described above with reference to FIGS. 18A to 18G, the image encoding apparatus 900 can encode information on the encoding mode based on whether the first encoding unit includes an out-of-bounds region.
도 16은 본 발명의 일 실시예에 또 다른 영상 복호화 장치를 도시한다. FIG. 16 illustrates still another image decoding apparatus according to an embodiment of the present invention.
도 16을 참조하면, 본 발명의 일 실시예에 따른 영상 복호화 장치(1600)는 판단부(1610), 파싱부(1610) 및 복호화부(1620)를 포함한다. 16, an image decoding apparatus 1600 according to an exemplary embodiment of the present invention includes a
판단부(1610)는 복호화하려는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다. 이전에 복호화된 부호화 단위에 기초해 복호화하려는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역인지 판단할 수 있다. 예를 들어, 도 14에 도시된 실시예에서는 바로 이전에 복호화된 부호화 단위가 'P-1' 부호화 단위인 경우, 복호화하려는 제1 부호화 단위는 현재 픽처의 경계에 걸쳐있어, 경계를 벗어난 영역을 포함하고 있는 것으로 판단할 수 있다. The
다시 말해, 현재 복호화되는 제1 부호화 단위의 좌측 또는 우측 경계가 현재 픽처의 좌측 또는 우측 경계를 벗어나는지 판단하거나, 제1 부호화 단위의 상부 또는 하부 경계가 현재 픽처의 상부 또는 하부 경계를 벗어나는지 판단하여, 복호화하려는 제1 부호화 단위가 현재 픽처의 경계에 걸쳐있는지 판단한다. In other words, it is determined whether the left or right boundary of the first coding unit to be currently decoded is out of the left or right boundary of the current picture or whether the upper or lower boundary of the first coding unit is out of the upper or lower boundary of the current picture And judges whether the first coding unit to be decoded is over the boundary of the current picture.
파싱부(1610)는 영상 비트스트림을 수신하고, 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는 것으로 판단되면, 제1 부호화 단위를 분할하여 생성된 적어도 하나의 제2 부호화 단위 중 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터만 파싱한다. 제2 부호화 단위의 심도는 제1 부호화 단위의 심도 'k'보다 큰 심도 'k+1'의 부호화 단위일 수 있다. 또한, 제1 부호화 단위가 픽처 경계를 벗어난 영역을 포함하지 않는 것으로 판단되면, 제1 부호화 단위에 대한 데이터 전부를 파싱한다. The
제1 부호화 단위가 픽처 경계를 벗어난 영역을 포함하는 것으로 판단되어, 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터만 파싱하는 경우, 제1 부호화 단위의 분할 여부에 대한 정보(예를 들어, 플래그 정보)를 파싱하지 않을 수 있다. 픽처 경계에 걸쳐있는 제1 부호화 단위의 분할이 필수적이어서, 분할 여부에 대한 정보를 부호화하지 않은 경우에는 파싱할 정보도 없으나, 분할 여부에 대한 정보가 부호화된 경우에도 분할 여부에 대한 정보를 파싱하지 않을 수 있다. When parsing only the data of the second encoding unit that is not out of the picture boundary and the first encoding unit is judged to include an area outside the picture boundary, information on whether or not the first encoding unit is divided (for example, Information) may not be parsed. It is necessary to divide the first coding unit spanning the picture boundary. If information on division is not coded, there is no information to be parsed. However, even if information on division is coded, .
또한, 분할 여부에 대한 정보를 파싱한 경우에도 제1 부호화 단위를 분할하여 생성된 제2 부호화 단위 중 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터만 파싱한다. In addition, even when information on division is parsed, only the second coding unit generated by dividing the first coding unit is parsed for only the second coding unit that does not deviate from the picture boundary.
복호화부(1630)는 파싱부(1620)에서 파싱된 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 데이터를 복호화한다. 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 엔트로피 복호화, 역양자화, 역주파수 변환(예를 들어, 역이산 코사인 변환)하여 레지듀얼 값들을 복원하고, 제2 부호화 단위를 인트라 또는 인터 예측하여 생성된 예측 값과 복원된 레지듀얼 값들을 가산하여 제2 부호화 단위를 복원한다. The
복호화 시에 이용하는 부호화 단위의 주소를 설정하는 방법은 도 14에 도시된 바와 동일하며, 복호화 과정에서 인트라 예측을 위해 이용할 수 있는 인접한 픽셀들도 도 13a 및 13b에 도시된 바와 같다. The method of setting the address of the encoding unit used for decoding is the same as that shown in FIG. 14, and neighboring pixels that can be used for intra prediction in the decoding process are as shown in FIGS. 13A and 13B.
복호화부(1630)가 복호화 시에 이용하는 제1 부호화 단위의 부호화 모드에 대한 정보는 도 18a 내지 18g와 관련하여 전술한 바와 같이 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화된 부호화 모드에 대한 정보일 수 있다.The information on the encoding mode of the first encoding unit used by the
도 17은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다. 17 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
도 17을 참조하면, 단계 1710에서 영상 복호화 장치(1600)는 복호화하려는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다. 이전에 복호화된 부호화 단위를 참조하여 제1 부호화 단위의 우측 또는 좌측 경계가 현재 픽처의 우측 또는 좌측 경계를 벗어나는지 판단하거나, 제1 부호화 단위의 상부 또는 하부 경계가 현재 픽처의 상부 또는 하부 경계를 벗어나는지 판단한다. Referring to FIG. 17, in
단계 1720에서 영상 복호화 장치(1600)는 단계 1710의 판단 결과에 기초해 제1 부호화 단위를 분할하여 생성된 적어도 하나의 제2 부호화 단위 중 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 파싱한다. 단계 1710에서 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하고 있는 것으로 판단된 경우, 제1 부호화 단위를 분할하여 생성된 제2 부호화 단위 중 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 파싱한다. 전술한 바와 같이 제2 부호화 단위는 제1 부호화 단위의 심도 'k'보다 큰 심도 'k+1'의 부호화 단위 일 수 있다. In
단계 1730에서 영상 복호화 장치(1600)는 단계 1720에서 파싱된 현재 픽처의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터만 복호화한다. 픽처 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 엔트로피 복호화, 역양자화, 역주파수 변환하여 레지듀얼 값들을 복원하고, 예측 결과 생성된 예측 값들과 가산하여 제2 부호화 단위를 복원한다. In
영상 복호화 장치(1600)가 복호화 시에 이용하는 제1 부호화 단위의 부호화 모드에 대한 정보는 도 18a 내지 18g와 관련하여 전술한 바와 같이 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화된 정보일 수 있다.The information on the encoding mode of the first encoding unit used by the video decoding apparatus 1600 in decoding may be information encoded based on whether or not the region includes an out-of-bound area as described above with reference to Figs. 18A to 18G .
도 19는 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.FIG. 19 is a flowchart illustrating an image encoding method according to another embodiment of the present invention.
도 19를 참조하면, 단계 1910에서 영상 부호화 장치(900)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다.Referring to FIG. 19, in
단계 1920에서 영상 부호화 장치(900)는 단계 1910에서의 판단 결과에 기초해 제1 부호화 단위를 적어도 하나의 제2 부호화 단위로 분할한다. 제1 부호화 단위의 심도 'k'보다 큰 심도 'k+1'의 제2 부호화 단위로 제1 부호화 단위를 분할할 수 있다.In
단계 1930에서 영상 부호화 장치는 단계 1920의 분할 결과 생성된 적어도 하나의 제2 부호화 단위의 경계를 벗어난 영역을 소정의 값들로 패딩한다. 도 20a 및 20b를 참조하여 상세히 설명한다. In
도 20a 및 20b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위를 부호화하는 방법을 설명하기 위한 도면이다.20A and 20B are views for explaining a method of encoding a picture unit boundary coding unit according to another embodiment of the present invention.
영상 부호화 장치(900)의 판단부(910)가 제1 부호화 단위(2020)가 픽처의 경계에 걸쳐있는 것으로 판단하면, 제어부(920)는 제1 부호화 단위(2020)를 더 작은 크기 즉, 더 큰 심도의 제2 부호화 단위로 분할한다. 그러나, 제2 부호화 단위가 최소 부호화 단위인 경우에는 제어부(920)가 더 작은 크기의 부호화 단위로 제2 부호화 단위를 분할할 수 없고, 더 이상 분할할 수 없기 때문에 경계를 벗어난 영역과 벗어나지 않은 영역이 부호화 단위에 따라 구분되지 않는다.If the
따라서, 부호화부(930)는 제2 부호화 단위(2024 및 2028) 중 경계(2010)를 벗어난 영역을 도 20b에 도시된 바와 같이 패딩한다. 현재 픽처의 경계(2010)를 벗어난 영역의 픽셀 값들을 모두 '0'으로 설정하거나, 경계를 벗어난 영역의 픽셀 값들을 인접한 경계를 벗어나지 않은 영역의 픽셀 값들과 동일하게 설정한다.Therefore, the
다시 도 19를 참조하면, 단계 1940에서 영상 부호화 장치(900)는 단계 1930에서 패딩된 영역을 포함하는 적어도 하나의 제2 부호화 단위를 부호화한다.Referring again to FIG. 19, in
영상 부호화 장치(900)의 부호화부(930)는 제2 부호화 단위들(2022 내지 2028)을 예측하여 레지듀얼 값들을 생성하고, 생성된 레지듀얼 값들을 주파수 변환한다. 주파수 변환하여 생성된 주파수 변환 계수들을 양자화하고 엔트로피 부호화하여 제2 부호화 단위들(2022 내지 2028)을 부호화한다.The
경계(2010)에 걸친 제2 부호화 단위들(2024 및 2028)를 예측함에 있어, 제2 부호화 단위 전체를 예측할 수도 있고, 경계를 벗어나지 않은 영역만 예측할 수도 있다. 예를 들어, 경계(2010)에 걸친 제2 부호화 단위(2024)가 8x8인 경우, 경계를 벗어난 영역을 포함하는 8x8 크기로 예측할 수도 있고, 경계를 벗어난 영역을 제외한 4x8 크기로 예측할 수도 있다.In predicting the
또한, 경계(2010)에 걸친 제2 부호화 단위들(2024 및 2028)을 주파수 변환함에 있어, 제2 부호화 단위 전체를 주파수 변환할 수도 있고, 경계를 벗어나지 않은 영역만 주파수 변환할 수도 있다. In frequency conversion of the
예를 들어, 경계(2010)에 걸친 최소 부호화 단위(2024)가 8x8인 경우, 경계를 벗어난 영역을 포함하는 8x8 크기로 주파수 변환을 수행할 수도 있다. 주파수 경계를 벗어난 영역도 예측된 경우 경계를 벗어난 영역도 레지듀얼 값들을 포함하므로, 제2 부호화 단위의 크기로 주파수 변환을 수행할 수 있다. 경계를 벗어난 영역이 예측되지 않아 레지듀얼 값들이 없는 경우에는 경계를 벗어난 영역을 임의의 레지듀얼 값(예를 들어, ‘0’)으로 설정하고, 제2 부호화 단위의 크기로 주파수 변환을 수행할 수 있다. 예측 여부와 무관하게 경계를 벗어난 영역의 레지듀얼 값들은 의미가 없으므로, 주파수 변환에 가장 높은 효율을 보이는 임의의 값으로 경계를 벗어난 영역의 레지듀얼 값들을 설정하고 주파수 변환을 수행할 수도 있다.For example, if the minimum coding unit 2024 across the
또한, 부호화부(930)는 경계를 벗어난 영역을 제외한 4x8 크기로 주파수 변환을 수행할 수도 있다. 전술한 바와 같이 본원 발명에 따르면, 부호화 단위, 예측 단위 및 변환 단위의 크기가 각각 독립적으로 결정될 수 있으므로, 최소 부호화 단위보다 작은 크기의 변환 단위를 이용해 경계를 벗어나지 않은 영역만 선택적으로 주파수 변환할 수 있다.단계 1940에서 제2 부호화 단위의 부호화와 함께 부호화부(930)는 도 18a 및 18g와 관련하여 전술한 바와 같이 제2 부호화 단위가 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화 모드에 대한 정보를 부호화할 수도 있다.In addition, the
도 21은 본 발명의 또 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.FIG. 21 is a flowchart illustrating a video decoding method according to another embodiment of the present invention.
도 21을 참조하면, 단계 2110에서 영상 복호화 장치(1600)의 판단부(1610)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다.Referring to FIG. 21, in
단계 2120에서 영상 복호화 장치(1600)의 파싱부(1620)는 단계 2110의 판단 결과에 기초해 제1 부호화 단위를 분할하여 생성된 적어도 하나의 제2 부호화 단위 중 패딩된 영역을 포함하는 적어도 하나의 제2 부호화 단위에 대한 데이터를 파싱한다. 도 20a에 도시된 바와 같이 제2 부호화 단위가 최소 부호화 단위이고, 경계에 걸쳐있는 경우 제2 부호화 단위의 일부 영역은 현재 픽처의 경계를 벗어난 영역이다. 이러한 영역은 도 19와 관련하여 전술한 바와 같이 소정의 값으로 패딩될 수 있는 바, 영상 복호화 장치의 파싱부(1620)는 이러한 패딩된 영역을 포함하는 적어도 하나의 제2 부호화 단위에 대한 데이터를 파싱한다.In
단계 2130에서 영상 복호화 장치(1600)의 복호화부(1630)는 단계 2120에서 파싱된 제2 부호화 단위에 대한 데이터에 기초해 제2 부호화 단위를 복호화한다. 파싱된 제2 부호화 단위에 대한 데이터를 엔트로피 복호화, 역양자화, 역주파수 변환하여 레지듀얼 값들을 복원하고, 예측 결과 생성된 예측 값들과 가산하여 제2 부호화 단위를 복원한다. 도 18a 및 18g와 관련하여 전술한 바와 같이 제2 부호화 단위가 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화된 부호화 모드에 대한 정보를 복호화하고, 복호화된 부호화 모드에 대한 정보에 따라 제2 부호화 단위를 복호화할 수 있다.In
도 19와 관련하여 전술한 주파수 변환과 같이 역주파수 변환도 제2 부호화 단위 전체를 역주파수 변환할 수도 있고, 경계를 벗어나지 않은 영역만 역주파수 변환할 수도 있다. 또한, 예측을 수행함에 있어서도 제2 부호화 단위 전체를 예측할 수도 있고, 경계를 벗어나지 않은 영역만 예측할 수도 있다.As with the frequency transform described above with reference to FIG. 19, the inverse frequency transform may perform the inverse frequency transform of the entire second encoding unit, or may perform the inverse frequency transform only of the areas not out of bounds. Also, in performing the prediction, the entire second encoding unit may be predicted, or only the region that is not out of bounds may be predicted.
도 22는 본 발명의 또 다른 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.22 is a flowchart illustrating a method of encoding an image according to another embodiment of the present invention.
도 22를 참조하면, 단계 2210에서 영상 부호화 장치(900)의 판단부(910)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다.Referring to FIG. 22, in
단계 2220에서 영상 부호화 장치(900)는 단계 2210에서의 판단 결과에 기초해 제1 부호화 단위의 경계를 벗어난 영역을 소정의 값으로 패딩한다. 도 23a를 참조하여 상세히 설명한다. In
도 23a 및 23b는 본 발명의 또 다른 실시예에 따른 픽처 경계의 부호화 단위를 부호화하는 방법을 설명하기 위한 도면이다.FIGS. 23A and 23B are diagrams for explaining a method of coding a picture unit boundary coding unit according to another embodiment of the present invention.
도 23a를 참조하면, 영상 부호화 장치(900)의 판단부(910)가 제1 부호화 단위(2320)가 픽처의 경계에 걸쳐있는 것으로 판단하면, 부호화부(930)는 제1 부호화 단위(2320) 중 경계(2310)를 벗어난 영역(2322)을 도 23a에 도시된 바와 같이 패딩한다. 현재 픽처의 경계(2310)를 벗어난 영역의 픽셀 값들을 모두 '0'으로 설정하거나, 경계를 벗어난 영역의 픽셀 값들을 인접한 경계를 벗어나지 않은 영역의 픽셀 값들과 동일하게 설정한다.23A, when the
다시 도 22를 참조하면, 단계 2230에서 영상 부호화 장치(900)의 부호화부(930)는 단계 2220에서 경계(2310)를 벗어난 영역(2322)이 패딩된 제1 부호화 단위(2320)를 제1 부호화 단위(2320)보다 작은 크기의 제2 부호화 단위를 이용하는 부호화 모드로 부호화한다. 패딩의 방법에 대한 규칙을 부호화 측과 복호화 측이 공유한다면, 제1 부호화 단위(2320)의 패딩된 영역(2322)을 부호화하지 않아도, 복호화하는 측에서 패딩된 영역(2322)를 복원할 수 있다. 따라서, 경계(2310)를 벗어나지 않은(2324)의 선택적인 부호화를 위해 영상 부호화 장치(900)의 부호화부(930)는 제1 부호화 단위(2320)의 크기보다 작은 크기의 제2 부호화 단위를 이용하는 부호화 모드로 제1 부호화 단위(2320)를 부호화한다. 도 23b를 참조하여 상세히 설명한다.Referring again to FIG. 22, in
도 23b를 참조하면, 부호화부(930)는 제1 부호화 단위(2320)의 크기보다 작은 크기의 제2 부호화 단위들(2322 내지 2328)를 이용하는 부호화 모드로 제1 부호화 단위(2320)를 부호화한다. 제2 부호화 단위를 이용하는 부호화 모드에 따라 제2 부호화 단위들 각각을 예측하고, 예측 결과 생성된 레지듀얼 값들을 주파수 변환한다. 주파수 변환 결과 생성된 주파수 변환 계수들을 양자화한 다음 엔트로피 부호화한다.23B, the
제2 부호화 단위들 각각을 부호화함에 있어서 경계를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)에 대해서만 예측을 수행하고, 예측 결과에 기초해 경계를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)를 부호화할 수 있다. 경계를 벗어난 영역의 제2 부호화 단위(2332 및 2334)는 예측을 수행하지 않고, 소정의 값(예를 들어, ‘0’)으로 레지듀얼 값을 설정할 수 있다.The
또한, 경계(2310)를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)에 대한 움직임 벡터 및 픽셀 값에 대한 정보만 부호화하고, 경계(2310)를 벗어난 영역의 제2 부호화 단위(2332 및 2334)의 움직임 벡터 및 픽셀 값에 대한 정보는 부호화하지 않을 수 있다. 픽셀 값에 대한 정보는 제2 부호화 단위(2332 내지 2338) 각각에 포함된 픽셀 값들을 주파수 변환하여 생성된 주파수 변환 계수(예를 들어, 이산 코사인 계수)일 수 있다.Only the information on the motion vectors and pixel values for the
또한, 단계 2230에서 부호화부(930)는 도 18a 및 18g와 관련하여 전술한 바와 같이 제2 부호화 단위가 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화 모드에 대한 정보를 부호화할 수도 있다.In addition, in
도 24는 본 발명의 또 다른 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다. 24 is a flowchart illustrating a video decoding method according to another embodiment of the present invention.
도 24를 참조하면, 단계 2410에서 영상 복호화 장치(1600)의 판단부(1610)는 제1 부호화 단위가 현재 픽처의 경계를 벗어난 영역을 포함하는지 판단한다.Referring to FIG. 24, in
단계 2420에서 영상 복호화 장치(1600)의 파싱부(1620)는 단계 2410의 판단 결과에 기초해 소정의 값으로 패딩된 영역을 포함하는 제1 부호화 단위에 대한 데이터를 파싱한다.In
파싱되는 데이터는 도 23b의 제1 부호화 단위(2320) 중 경계(2310)를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)에 대한 정보만 포함할 수 있다. 경계(2310)를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)에 대한 움직임 벡터 및 픽셀 값에 대한 정보만 포함할 수 있다.The data to be parsed may include only information on the
단계 2430에서 영상 복호화 장치(1600)의 복호화부(1630)는 단계 1620에서 파싱된 데이터를 이용해 제1 부호화 단위를 제1 부호화 단위보다 작은 크기의 제2 부호화 단위를 이용하는 부호화 모드에 따라 복호화한다. 제2 부호화 단위를 이용하는 부호화 모드에 따라 제1 부호화 단위의 제2 부호화 단위들을 엔트로피 복호화, 역양자화, 역주파수 변환 및 예측하여 복호화한다. 도 18a 및 18g와 관련하여 전술한 바와 같이 제2 부호화 단위가 경계를 벗어난 영역을 포함하는지 여부에 기초해 부호화된 부호화 모드에 대한 정보를 복호화하고, 복호화된 부호화 모드에 대한 정보에 따라 제2 부호화 단위를 복호화할 수 있다.In
파싱된 데이터가 경계(2310)를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)에 대한 정보만 포함하는 경우, 경계(2310)를 벗어나지 않은 영역의 제2 부호화 단위(2336 및 2338)만 제2 부호화 단위를 이용하는 부호화 모드에 따라 복호화한다. Only the
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. As described above, although the present invention has been described by way of limited embodiments and drawings, the present invention is not limited to the above-described embodiments, which can be variously modified and modified by those skilled in the art. Modifications are possible. Accordingly, the spirit of the invention should be understood only by the claims set forth below, and all equivalent or equivalent modifications will fall within the scope of the invention. In addition, the system according to the present invention can be embodied as computer readable codes on a computer readable recording medium.
예를 들어, 본 발명의 예시적인 실시예에 따른 영상 부호화 장치 및 영상 복호화 장치는 도 1, 2, 4, 5, 9 및 16에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다. For example, an image encoding apparatus and an image decoding apparatus according to an exemplary embodiment of the present invention may include a bus coupled to respective units of the apparatus as shown in FIGS. 1, 2, 4, 5, 9 and 16, And at least one processor coupled to the bus. It may also include a memory coupled to the bus for storing instructions, received messages or generated messages and coupled to the at least one processor for performing the instructions as described above.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
The computer-readable recording medium also includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and a carrier wave (for example, transmission via the Internet). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
Claims (6)
수신된 비트스트림으로부터 파싱된 부호화 단위의 분할 여부를 나타내는 정보를 이용하여, 계층 구조의 제1 부호화 단위들을 결정하는 프로세서; 및
상기 계층 구조의 제1 부호화 단위들이 현재 영상의 경계를 벗어난 영역을 포함하는지 결정하는 복호화부를 포함하고,
상기 계층 구조의 제1 부호화 단위들이 상기 현재 영상의 경계를 벗어난 영역을 포함하지 않는 것으로 결정되는 경우에, 상기 복호화부는 상기 계층 구조의 제1 부호화 단위들을 파싱하여 복호화하고,
상기 계층 구조의 제1 부호화 단위들이 상기 현재 영상의 경계를 벗어난 영역을 포함하는 것을 결정되는 경우에, 상기 복호화부는 상기 제 1 부호화 단위 중에서 상기 현재 영상의 경계를 벗어난 영역을 포함하는 제1 부호화 단위를 분할하여 적어도 하나의 제2 부호화 단위를 결정하는 것을 특징으로 하는 영상 복호화 장치.In the image decoding apparatus,
A processor that determines first coding units of a hierarchical structure by using information indicating whether a coding unit parsed from a received bitstream is divided; And
A decoder configured to determine whether the first coding units of the hierarchical structure include a region that is out of a boundary of a current image,
When it is determined that the first coding units of the hierarchical structure do not include a region outside the boundary of the current image, the decoder parses and decodes the first coding units of the hierarchical structure.
When it is determined that the first coding units of the hierarchical structure include an area outside the boundary of the current image, the decoder includes a first coding unit including an area outside the boundary of the current image among the first coding units. And decoding at least one to determine at least one second coding unit.
상기 제 1 부호화 단위가 상기 현재 영상의 경계를 벗어나는 경우에, 상기 복호화부는 상기 수신된 비트스트림으로부터 상기 제1 부호화 단위의 분할 여부를 나타내는 정보는 파싱하지 않고, 상기 제1 부호화 단위의 분할을 결정하는 것을 특징으로 하는 영상 복호화 장치.The method of claim 1,
When the first coding unit is out of the boundary of the current image, the decoder determines the division of the first coding unit without parsing information indicating whether the first coding unit is split from the received bitstream. And a video decoding apparatus.
상기 계층 구조의 부호화 단위들 중에서 상기 현재 영상의 경계를 벗어난 영역을 포함하는 제1 부호화 단위를 분할하여 적어도 하나의 제2 부호화 단위를 결정하고, 상기 적어도 하나의 제2 부호화 단위 중에서 상기 현재 영상의 경계를 벗어나지 않은 제2 부호화 단위에 대한 데이터를 파싱하여 복호화하는 것을 특징으로 하는 영상 복호화 장치.The method of claim 2, wherein the decoding unit,
From the coding units of the hierarchical structure, a first coding unit including a region outside the boundary of the current image is divided to determine at least one second coding unit, and among the at least one second coding unit, And decoding and decoding data about a second coding unit that does not deviate from a boundary.
상기 제 1 부호화 단위로부터 분할된 적어도 하나의 제2 부호화 단위들 중 적어도 하나 이상이 상기 영상의 경계를 벗어나는 경우에, 상기 복호화부는, 상기 적어도 하나 이상의 영상의 경계를 벗어난 제 2 부호화 단위를 다시 분할하고, 상기 제1 부호화 단위를 분할하여 생성된 영역을 포함하는 상기 적어도 하나의 제2 부호화 단위를 결정하는 것을 특징으로 하는 영상 복호화 장치.3. The method of claim 2,
When at least one or more of the at least one second coding unit split from the first coding unit is out of the boundary of the image, the decoder may further split the second coding unit that is out of the boundary of the at least one image. And determining the at least one second coding unit including a region generated by dividing the first coding unit.
상기 제1 부호화 단위의 경계의 주소와 상기 현재 영상의 상기 영상의 넓이 또는 높이를 비교하는 것을 특징으로 하는 영상 복호화 장치.The method of claim 2, wherein the decoding unit,
And an address of a boundary of the first coding unit and a width or a height of the image of the current image.
상기 영상은 심도에 따라 상기 최대 부호화 단위 크기 정보에 따른 최대 부호화 단위로부터 계층적으로 분할되고, 각각의 부호화 단위는 심도별로 상위 심도의 부호화 단위로부터 분할된 정사각 데이터 단위들 중 하나이며, 상기 각각의 부호화 단위는 이웃 부호화 단위들과 독립적으로 하위 심도의 부호화 단위들로 분할되고, 상기 계층 구조의 부호화 단위들은 부호화된 부호화 단위들을 포함하는 것을 특징으로 하는 영상 복호화 장치.
The method of claim 1,
The image is hierarchically divided from a maximum coding unit according to the maximum coding unit size information according to a depth, and each coding unit is one of square data units divided from coding units of a higher depth for each depth. The coding unit is divided into coding units having a lower depth independently of neighboring coding units, and the coding units of the hierarchical structure include coded coding units.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130035966A KR101434208B1 (en) | 2013-04-02 | 2013-04-02 | Method and apparatus for encoding and decoding coding unit of picture boundary |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130035966A KR101434208B1 (en) | 2013-04-02 | 2013-04-02 | Method and apparatus for encoding and decoding coding unit of picture boundary |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090104421A Division KR101452713B1 (en) | 2009-10-30 | 2009-10-30 | Method and apparatus for encoding and decoding coding unit of picture boundary |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130041041A true KR20130041041A (en) | 2013-04-24 |
KR101434208B1 KR101434208B1 (en) | 2014-08-27 |
Family
ID=48440524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130035966A KR101434208B1 (en) | 2013-04-02 | 2013-04-02 | Method and apparatus for encoding and decoding coding unit of picture boundary |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101434208B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE602006020556D1 (en) * | 2005-04-01 | 2011-04-21 | Panasonic Corp | IMAGE DECODING DEVICE AND IMAGE DECODING METHOD |
KR101441269B1 (en) * | 2005-09-26 | 2014-09-18 | 미쓰비시덴키 가부시키가이샤 | Dynamic image decoding device and dynamic image decoding method |
JP4114885B2 (en) | 2005-10-31 | 2008-07-09 | 松下電器産業株式会社 | Image encoding apparatus, method, and program |
-
2013
- 2013-04-02 KR KR1020130035966A patent/KR101434208B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101434208B1 (en) | 2014-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101452713B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101662739B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101608065B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101545905B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101434208B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101452714B1 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
AU2014203054B2 (en) | Method and apparatus for encoding and decoding coding unit of picture boundary | |
KR101464979B1 (en) | Method and apparatus for encoding and decoding image using large transform unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180727 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190730 Year of fee payment: 6 |