KR101891192B1 - Method and Apparatus for image encoding - Google Patents
Method and Apparatus for image encoding Download PDFInfo
- Publication number
- KR101891192B1 KR101891192B1 KR1020120156964A KR20120156964A KR101891192B1 KR 101891192 B1 KR101891192 B1 KR 101891192B1 KR 1020120156964 A KR1020120156964 A KR 1020120156964A KR 20120156964 A KR20120156964 A KR 20120156964A KR 101891192 B1 KR101891192 B1 KR 101891192B1
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- prediction
- cost
- search
- base layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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/187—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 a scalable video layer
-
- 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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 영상 부호화 방법에 관한 것으로, 보다 상세하게는 기본 계층의 움직임 벡터와 상기 기본 계층의 움직임 벡터의 주변 일정범위를 검색영역으로 설정하는 단계; 상기 검색영역 내에서 후보 움직임 벡터를 선택하는 단계; 및 상기 선택된 후보 움직임 벡터에 대한 비용을 예측하는 단계;를 포함하여, 강화 계층의 움직임 벡터 예측을 보다 정확하게 수행함으로써 압축 효율을 향상시킬 수 있는 영상 부호화 방법을 제공한다. The present invention relates to a video coding method, and more particularly, to a video coding method and a motion vector coding method, Selecting a candidate motion vector in the search area; And estimating a cost for the selected candidate motion vector, thereby improving the compression efficiency by more accurately performing motion vector prediction of the enhancement layer.
Description
본 발명은 영상 부호화 방법 및 장치에 관한 것이다. The present invention relates to a video encoding method and apparatus.
H.264/AVC 는 고성능의 압축 효율을 갖는 비디오 압축 표준 기술이다. H.264/AVC 에서는 영상 내의 상관성을 제거하기 위한 화면 내 예측 기술, 영상 간의 상관성을 제거하기 위한 화면 간 예측 기술을 통하여 원본 신호를 예측 부호화할 수 있다. H.264/AVC의 부호화기는 원본 신호와 예측 신호의 차이 값인 차분 값에 대하여 이산 여현 변환 부호화와 양자화를 수행한다. 그리고 양자화된 신호는 지그재그 스캐닝 방법으로 정렬된 후 엔트로피부호화된다.H.264 / AVC is a video compression standard technology with high compression efficiency. In H.264 / AVC, the original signal can be predictively encoded through an intra prediction technique for eliminating correlation in an image and an inter prediction technique for eliminating correlation between images. The H.264 / AVC encoder performs discrete cosine transform (DCT) encoding and quantization on the difference value between the original signal and the prediction signal. The quantized signal is then entropy encoded after being aligned by a zigzag scanning method.
최근에 ITU-T VCEG(Video Coding Experts Group)와 ISO/IEC MPEG(Moving Picture Experts Group)은 JCT-VC(Joint Collaborative Team on Video Coding)을 구성하여 새로운 영상 압축 표준인 HEVC(High Efficiency Video Coding)의 표준화를 진행 중이며, 이는 기존에 제정된 표준인 H.264/AVC에 비교하여 현재 약 40% 이상의 압축 효율의 향상이 달성되어 있는 것으로 알려져 있다. H.264/AVC와 HEVC는 기본적으로 블록 기반의 영상 부호화기이라는 점은 동일하지만 16x16의 고정된 크기인 MB(Macro Block) 단위의 부호화를 수행하는 H.264/AVC와는 다르게 HEVC는 Common test condition 내에서 최대 64x64 크기로부터 8x8 크기까지의 다양한 크기를 갖는 CU(Coding Unit)의 기반에 따른 부호화를 수행한다.Recently, ITU-T VCEG (Video Coding Experts Group) and ISO / IEC MPEG (Moving Picture Experts Group) have formed Joint Collaborative Team on Video Coding (JCT-VC) And it is known that the compression efficiency is improved by about 40% or more as compared with the existing standard H.264 / AVC. H.264 / AVC and HEVC are basically block-based image coders. However, unlike H.264 / AVC, which encodes MB (Macro Block) units with a fixed size of 16x16, Encoding according to a CU (Coding Unit) basis having various sizes ranging from a maximum 64x64 size to an 8x8 size.
HEVC에 구현되어 있는 움직임 벡터 관련 주요 기술은 크게 Merge 기술과 향상된 움직임 벡터 예측(AMVP: Advanced Motion Vector Prediction)기술이다.Major technologies related to motion vectors implemented in HEVC are Merge technology and Advanced Motion Vector Prediction (AMVP) technology.
Merge 기술은 적절한 주변 움직임 벡터들을 Merge 후보 리스트에 넣은 후, 이 후보군에 있는 리스트를 검사하여 해당 움직임 벡터와의 Merge 여부를 결정하는 기술이고, AMVP 기술은 multi-candidate 기반의 움직임 벡터 결정 기술로, 적절한 주변 움직임 벡터들을 이용하여 움직임 벡터 후보군을 생성하고, 해당 후보군 안에 들어있는 후보 리스트 안에서 최적의 움직임 벡터를 선택하여, 후보군을 나타내는 인덱스와 최적 움직임 벡터를 동시에 선택하는 기술이다. The Merge technique is a technique for inserting appropriate peripheral motion vectors into a Merge candidate list, and then checking a list in the candidate group to decide whether to merge with the corresponding motion vector. AMVP technology is a multi-candidate based motion vector determination technique, A motion vector candidate group is generated using appropriate surrounding motion vectors, an optimal motion vector is selected in a candidate list included in the candidate group, and an index indicating a candidate group and an optimal motion vector are simultaneously selected.
위의 두 기술을 통해 HEVC는 높은 부호화 효율을 달성할 수 있었으므로, HEVC(High Efficiency Video Coding) 기반의 공간적 계층부호화(Spatial Scalable Coding) 방법에서도 위의 두 기술을 사용하고 있다. Since the HEVC achieves a high coding efficiency through the above two techniques, the above two techniques are also used in the HEVC (Spatial Scalable Coding) method based on the High Efficiency Video Coding (HEVC).
이때, Merge 후보 리스트와 AMVP 후보 리스트를 생성함에 있어서 기본 계층의 정보를 이용함으로써 더 높은 압축 효율을 달성하려는 선행연구들이 진행되었다.At this time, previous researches have been conducted to achieve a higher compression efficiency by using information of a base layer in generating a Merge candidate list and an AMVP candidate list.
그러나, 기존의 HEVC 기반 공간적 계층부호화 과정에서 강화 계층의 움직임 벡터를 예측하기 위해 사용하는 기본 계층의 정보는 움직임 벡터로 제한적이었다.However, in the conventional HEVC-based spatial layer coding process, the information of the base layer used for predicting the motion vector of the enhancement layer is limited to the motion vector.
또한, 기본 계층의 LCU가 하위 CU로 분할되고 NxN 타입의 PU를 가질 경우, 강화 계층 LCU의 최적 움직임 벡터 mv* 를 결정을 위해 사용되는 기본 계층의 움직임 벡터는 최대 4개(mv0 , mv1, mv2, mv3)의 서로 다른 값을 가지게 되는 문제점 이 있다. When the LCU of the base layer is divided into lower CUs and has NxN type PUs, the motion vector of the base layer used for determining the optimal motion vector mv * of the enhancement layer LCU is maximum 4 (mv0, mv1, mv2 , mv3).
또한, 종래에는, 기본 계층의 움직임 벡터를 스케일링하여 그대로 사용하기 때문에, 기본 계층의 4개의 움직임 벡터 중 최적의 움직임 벡터를 선택할 수 있는 방법이 존재하지 않았다.Further, conventionally, since a motion vector of a base layer is scaled and used as it is, there is no method for selecting an optimal motion vector among the four motion vectors of the base layer.
또한, 기본 계층 4개의 움직임 벡터가 서로 다른 값을 가질 경우, 4개의 움직임 벡터 중 하나의 값을 선택하여 그대로 사용하였기 때문에 압축효율이 좋지 않은 문제점이 있었다.In addition, when four motion vectors of the base layer have different values, one of four motion vectors is selected and used as it is.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로, 특히 부호화시에 압축효율을 향상시키도록 하는 영상 부호화 방법 및 장치를 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and it is an object of the present invention to provide a video encoding method and apparatus for improving compression efficiency in encoding.
또한, 강화 계층의 PU를 위한 적절한 움직임 벡터를 예측하도록 하는 영상 부호화 방법 및 장치를 제공하는 데 그 목적이 있다.Another object of the present invention is to provide an image encoding method and apparatus for predicting an appropriate motion vector for a PU of an enhancement layer.
상기 목적을 달성하기 위해 안출된 본 발명의 일관점은, 영상 부호화 방법에 있어서, 기본 계층의 움직임 벡터와 상기 기본 계층의 움직임 벡터의 주변 일정범위를 검색영역으로 설정하는 단계와, 상기 검색영역 내에서 후보 움직임 벡터를 선택하는 단계 및 상기 선택된 후보 움직임 벡터에 대한 비용을 예측하는 단계를 포함하는, 영상 부호화 방법을 제공한다.According to an aspect of the present invention, there is provided an image encoding method including the steps of setting a motion vector of a base layer and a predetermined range of a motion vector of the base layer as a search region, Selecting a candidate motion vector in the candidate motion vector, and estimating a cost for the selected candidate motion vector.
여기서, 상기 검색영역은, 상기 기본 계층의 움직임 벡터와 검색 움직임 벡터의 합으로 결정되는 것이 바람직하다.Here, it is preferable that the search area is determined by a sum of a motion vector of the base layer and a search motion vector.
또한, 상기 검색 움직임 벡터는, {-a, 0, a}로 구성된 집합(여기서, a는 자연수)에서 임의의 2개의 조합으로 구성될 수 있다. In addition, the search motion vector may be composed of any combination of two sets of {-a, 0, a} (where a is a natural number).
한편, 상기 비용을 예측하는 단계는, 상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리를 기초로 하여 결정되는 것이 바람직하다.The cost prediction may be determined based on a distance between the motion vector of the base layer and the search motion vector.
여기서, 상기 비용을 예측하는 단계는, 상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리가 증가할수록 왜곡값이 증가하지만 상기 왜곡값의 증가율은 감소하는 특성을 갖는 왜곡 예측함수를 사용하는 것이 바람직하다.Here, it is preferable to use the distortion prediction function having a characteristic that the distortion value increases as the distance between the motion vector of the base layer and the search motion vector increases, but the rate of increase of the distortion value decreases Do.
또한, 상기 비용을 예측하는 단계는, 상기 검색 움직임 벡터와 강화 계층의 예측 움직임 벡터를 부호화하였을 때 발생하는 비트량과 상기 왜곡 예측함수를 포함하는 비용 예측 함수를 사용하는 것이 바람직하다.It is preferable that the cost prediction step uses a cost prediction function including a bit amount generated when the search motion vector and a prediction motion vector of the enhancement layer are coded and the distortion prediction function.
또한, 상기 비용을 예측하는 단계는, 복수개의 상기 기본 계층의 움직임 벡터에 대해 상기 비용 예측 함수로 각 비용을 계산한 후에, 상기 비용을 모두 합한 최종 예측 비용을 계산하는 것이 바람직하다.In addition, it is preferable that, in the step of predicting the cost, each cost is calculated with the cost prediction function for a plurality of motion vectors of the base layer, and then the final predicted cost, which is a sum of the costs, is calculated.
또한, 영상 부호화 방법은, 상기 비용을 예측하는 단계에서 최종 예측 비용이 가장 적은 상기 검색 움직임 벡터를 최종 후보 움직임 벡터로 결정하는 단계를 더 포함하는 것이 바람직하다.The image encoding method may further include determining the search motion vector having the smallest final prediction cost as a final candidate motion vector in the step of estimating the cost.
한편, 상기 최종 후보 움직임 벡터는, 공간적 확장 비율에 따라 스케일링될수 있다. Meanwhile, the final candidate motion vector may be scaled according to the spatial expansion ratio.
또한, 상기 최종 후보 움직임 벡터는, 통합(Merge) 후보 리스트 또는 향상된 움직임 벡터 예측(Advance Motion Vector Prediction) 후보 리스트에 추가되는 것이 바람직하다.In addition, the final candidate motion vector is preferably added to a merge candidate list or an Advance Motion Vector Prediction candidate list.
본 발명에 의하면 움직임 벡터와 잔차신호 등의 확장된 기본 계층 정보를 이용하여 강화 계층을 위한 정확한 움직임 벡터를 구할 수 있도록 함으로써 부호화 효율 향상시키는 효과가 있다. According to the present invention, an accurate motion vector for an enhancement layer can be obtained by using extended base layer information such as a motion vector and a residual signal, thereby improving encoding efficiency.
또한, 복수개의 서로 다른 기본 계층의 움직임 벡터가 존재할 경우, 그 주변의 일정 범위를 검색하여 예측 움직임 벡터를 결정할 수 있도록 함으로써 강화 계층의 부호화 효율을 향상시키는 효과가 있다.In addition, when motion vectors of a plurality of different base layers are present, it is possible to determine a predicted motion vector by searching a certain range around the motion vector, thereby improving the coding efficiency of the enhancement layer.
도 1은 영상 부호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 2는 영상 복호화 장치 구조의 일 예를 개략적으로 도시한 것이다.
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.
도 4는 본 발명의 일실시예에 따른 영상 부호화방법을 도시한 순서도이다.
도 5는 본 발명의 일실시예에 따른 영상 부호화방법에 포함된 움직임 벡터 검색 영역 설정방법을 도시한 것이다.1 schematically shows an example of the structure of an image encoding apparatus.
2 schematically shows an example of the structure of a video decoding apparatus.
3 shows an example of a picture to be coded / decoded and a reference picture.
4 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
FIG. 5 illustrates a method of setting a motion vector search region included in the image encoding method according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Hereinafter, the same reference numerals will be used for the same constituent elements in the drawings, and redundant explanations for the same constituent elements will be omitted.
도 1은 영상 부호화 장치 구조의 일 예를 개략적으로 도시한 것이다.1 schematically shows an example of the structure of an image encoding apparatus.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160),역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.1, the
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림을 출력한다. 이하 본 발명의 실시예에서는 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측과 동일한 의미로 사용될 수 있다. 예측 단위에 대한 최적의 예측 방법을 결정하기 위해 예측 단위에 대해 화면 내예측 방법 및 화면 간 예측 방법이 선택적으로 사용될 수 있다. 영상 부호화 장치(100)는 입력 영상의 원본 블록에 대한 예측 블록을 생성한 후, 원본 블록과 예측 블록의 차분을 부호화한다.The
화면 내 예측 모드인 경우, 인트라 예측부(120)(또는 화면 내 예측부도 동일한 의미를 가지는 용어로 사용될 수 있다.)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.In the intra prediction mode, the intra prediction unit 120 (or the intra prediction unit can also be used as a term having the same meaning) performs spatial prediction using the pixel values of the already coded blocks around the current block And generates a prediction block.
화면 간 예측 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구한다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.In the case of the inter-picture prediction mode, the
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성한다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력한다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력한다. 엔트로피 부호화부(150)는 입력된 양자화된 계수를 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력한다.The
HEVC는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.Since the HEVC performs inter prediction coding, i.e., inter prediction coding, the currently encoded image needs to be decoded and stored for use as a reference image. Accordingly, the quantized coefficients are inversely quantized in the
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있으며, 고효율이 적용되는 경우에만 수행될 수도 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장된다.The restoration block passes through the
도 2는 영상 복호화 장치 구조의 일 예를 개략적으로 도시한 것이다.2 schematically shows an example of the structure of a video decoding apparatus.
도 2를 참조하면, 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.2, the
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력한다. 인트라 모드인 경우 화면 내 예측 모드를 사용하여 예측 블록을 생성하고 인터 모드인 경우 화면 간 예측 방법을 사용하여 예측 블록을 생성한다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 잔여 블록과 예측블록을 더하여 재구성된 블록, 즉 복원 블록을 생성한다.The
엔트로피 복호화부(210)는 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여 양자화된 계수(quantized coefficient)를 출력한다. 양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 잔여 블록(residual block)이 생성된다.The
화면 내 예측 모드인 경우, 인트라 예측부(240)(또는 화면 간 예측부)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성한다.In the intra-picture prediction mode, the intra-prediction unit 240 (or the inter-picture prediction unit) performs spatial prediction using the pixel values of the already coded blocks around the current block to generate a prediction block.
화면 간 예측 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성한다.In the inter-view prediction mode, the
잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.The residual block and the prediction block are added through the
부호화/복호화 장치의 예측 성능을 향상시키기 위한 방법에는 보간(interpolation) 영상의 정확도를 높이는 방법과 차신호를 예측하는 방법이 있다. 여기서 차신호란 원본 영상과 예측 영상과의 차이를 나타내는 신호이다.Methods for improving the prediction performance of the encoding / decoding apparatus include a method of increasing the accuracy of the interpolation image and a method of predicting the difference signal. Here, the difference signal is a signal indicating the difference between the original image and the predicted image.
본 발명에서 “차신호”는 문맥에 따라 “차분 신호”, “잔여 블록” 또는 “차분 블록”으로 대체되어 사용될 수 있으며, 해당 기술분야에서 통상의 지식을 가진 자는 발명의 사상, 본질에 영향을 주지 않는 범위 내에서 이를 구분할 수 있을 것이다.In the present invention, the term " difference signal " may be replaced by a " difference signal ", " residual block ", or " difference block " depending on the context. Those skilled in the art may influence the idea You will be able to distinguish this within the scope of not giving.
본 발명의 실시예에서는 설명의 편의상 코딩 유닛(Coding Unit, 이하 'CU'라 함)을 부호화 단위라는 용어로 사용하지만, 부호화 뿐만 아니라 복호화를 수행하는 단위가 될 수도 있다. 이하, 본 발명의 실시예에서 설명하는 영상 부호화 방법은, 도 1 및 도 2에서 전술한 각 모듈의 기능에서 맞게 구현될 수 있고 이러한 부호화기 및 복호화기는 본 발명의 권리범위에 포함된다. 즉, 본 발명의 실시예에서 후술할 영상 부호화/복호화 방법은 도 1 및 도 2에서 전술한 영상 부호화기 및 영상 복호화기에 포함된 각 구성부에서 수행될 수 있다. 구성부의 의미는 하드웨어적인 의미 뿐만 아니라 알고리즘을 통해 수행될 수 있는 소프트웨어적인 처리 단위도 포함할 수 있다.In the embodiment of the present invention, a coding unit (CU) is used as a coding unit for convenience of explanation, but it may be a unit for performing not only coding but also decoding. Hereinafter, the image encoding method described in the embodiment of the present invention can be implemented in accordance with the functions of the respective modules described in FIGS. 1 and 2, and such an encoder and a decoder are included in the scope of the present invention. That is, the image encoding / decoding method to be described later in the embodiment of the present invention can be performed in each component included in the image encoder and the image decoder described in FIG. 1 and FIG. The meaning of the constituent part may include not only a hardware meaning but also a software processing unit which can be performed through an algorithm.
상술한 도 1, 도 2의 실시예에 따른 영상 부호화/복호화에서는, 영상의 효율적인 부호화를 위해, 단일 크기의 매크로블록이 다양한 크기로 확장된 CU 구조가 정의될 수 있다. CU는 비디오 부호화기에서 부호화가 수행되는 하나의 단위로서, 쿼드 트리 구조(Quad Tree Structure)를 기초로 깊이(depth) 정보를 가지고 계층적으로 분할될 수 있다. CU는 8×8, 16×16, 32×32, 64×64 등 다양한 크기를 가질 수 있다. 또한 가장 큰 크기의 CU를 LCU(Largest Coding Unit), 가장 작은 크기의 CU를 SCU(Smallest Coding Unit)라 한다. SCU를 제외한 모든 CU는 split_flag 정보를 할당하여 그 값에 따라 해당 CU가 분할된 영역인지 아닌지를 지시하게 된다. 부호화기는 다양한 비디오 신호 특성에 따라, 부호화 과정에서 LCU의 크기를 조절할 수도 있다. CU는 인트라 또는 인터 예측에 사용되도록 PU(Prediction Unit)으로 분할될 수 있으며, 변환 및 양자화를 위해 TU(Transform Unit)으로 분할될 수 있다. 이하, 블록은 부호화/복호화의 단위를 의미한다. 부호화/복호화 과정에서, 영상은 소정의 크기로 분할되어 부호화/복호화된다. 따라서, 블록은 CU, PU, TU등으로도 불릴 수도 있으며, 하나의 블록은 더 작은 크기의 하위 블록으로 분할될 수도 있다. In the image encoding / decoding according to the embodiments of FIGS. 1 and 2, a CU structure in which a single-sized macro block is expanded to various sizes may be defined for efficient encoding of an image. The CU is a unit in which a video is encoded by a video encoder and can be hierarchically divided with depth information based on a quad tree structure. CUs can have various sizes such as 8 × 8, 16 × 16, 32 × 32, and 64 × 64. The largest CU is called the LCU (Largest Coding Unit), and the smallest CU is called the SCU (Smallest Coding Unit). All CUs except SCUs are assigned split_flag information and indicate whether or not the corresponding CU is divided according to the value of split_flag. The encoder may adjust the size of the LCU in the encoding process according to various video signal characteristics. The CU can be divided into PU (Prediction Unit) for use in intra or inter prediction, and can be divided into TU (Transform Unit) for conversion and quantization. Hereinafter, a block means a unit of encoding / decoding. In the encoding / decoding process, the image is divided into a predetermined size and then encoded / decoded. Thus, a block may also be referred to as CU, PU, TU, etc., and one block may be divided into sub-blocks of smaller size.
여기서, PU는 예측 및/또는 움직임 보상 수행의 기본 단위를 의미한다. PU는 복수의 파티션(partition)으로 분할될 수 있으며, 각각의 파티션은 PU 파티션(prediction unit partition)으로 불린다. PU가 복수의 파티션으로 분할된 경우, PU 파티션은 예측 및/또는 움직임 보상 수행의 기본단위가 될 수 있다. 이하, 본 발명의 실시예에서는 PU는 PU 파티션을 의미할 수도 있다.Here, PU denotes a basic unit of prediction and / or motion compensation performance. A PU can be divided into a plurality of partitions, and each partition is called a PU partition (prediction unit partition). When the PU is divided into a plurality of partitions, the PU partitions can be a basic unit of performing prediction and / or motion compensation. Hereinafter, in the embodiment of the present invention, the PU may mean a PU partition.
한편, HEVC(High Efficiency Video Coding)에서는 향상된 움직임 벡터 예측(AMVP: Advanced Motion Vector Prediction)에 기반한 움직임 벡터 예측(motion vector prediction) 방법을 사용한다.Meanwhile, HEVC (High Efficiency Video Coding) uses a motion vector prediction method based on Advanced Motion Vector Prediction (AMVP).
향상된 움직임 벡터 예측에 기반한 움직임 벡터 예측 방법에서는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록의 움직임 벡터(MV: Motion Vector)뿐만 아니라, 참조 픽쳐(reference picture) 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 대응되는 위치에 존재하는 블록의 움직임 벡터를 이용할 수 있다. 이때. 참조 픽쳐 내에서 부호화/복호화 대상 블록과 동일한 위치 또는 공간적으로 대응되는 위치에 존재하는 블록을 동등 위치 블록(collocated block), 동등 위치 블록의 움직임 벡터를 동등 위치 움직임 벡터(collocated motion vector) 또는 시간적 움직임 벡터(temporal motion vector)라고 부른다. 그러나, 동동 위치 블록(collocated block)은 참조 픽쳐의 부호화/복호화 대상 블록과 반드시 동일한 위치에 존재하는 블록만이 아니라, 부호화/복호화 대상 블록과 위치가 유사한, 즉 대응되는 위치에 존재하는 블록일 수도 있다.In the motion vector prediction method based on the improved motion vector prediction method, not only the motion vector (MV) of the reconstructed block located around the current block to be encoded / decoded but also the motion vector of the current block to be encoded / decoded in the reference picture A motion vector of a block existing in a position or a corresponding position can be used. At this time. A block located at the same position or a position corresponding to a spatially corresponding position in the reference picture as a block to be coded / decoded is referred to as a collocated block, a motion vector of an equal position block is referred to as a collocated motion vector or a temporal motion It is called a temporal motion vector. However, the collocated block may be a block existing in the same position as the block to be encoded / decoded, that is, a block existing at the corresponding position, have.
움직임 정보 병합(motion information merge) 방법에서는 움직임 정보를 주변에 위치하는 복원 블록뿐만 아니라 동등 위치 블록으로부터도 유추하여, 부호화/복호화 대상 블록의 움직임 정보로 이용한다. 이때, 움직임 정보는 인터 예측 시에 필요한 참조 픽쳐 인덱스(reference picture index), 움직임 벡터, 단방향(uni-direction) 또는 양방향(bi-direction) 등을 나타내는 인터 예측 모드 정보, 참조 픽쳐 리스트(reference picture list), 인트라 예측 모드로 부호화되었는지 인터 예측 모드로 부호화되었는지에 관한 예측 모드(prediction mode) 정보 중 적어도 하나 이상을 포함하는 정보이다.In the motion information merge method, motion information is inferred not only from neighboring reconstructed blocks but also from equivalent position blocks, and uses the motion information as motion information of a current block to be encoded / decoded. At this time, the motion information includes inter-prediction mode information indicating a reference picture index, a motion vector, a uni-direction or a bi-direction necessary for inter prediction, a reference picture list ), Prediction mode information about whether the image is coded in the intra-prediction mode or the inter-prediction mode, and the like.
부호화/복호화 대상 블록에서 예측된 움직임 벡터(predictied motion vector)는 부호화/복호화 대상 블록과 공간적으로 인접한 주변 블록의 움직임 벡터뿐만 아니라, 부호화/복호화 대상 블록과 시간적으로 인접한 블록인 동등 위치 블록의 움직임 벡터일 수도 있다.The predicted motion vector predicted in the current block to be coded / decoded includes not only motion vectors of neighboring blocks spatially adjacent to the current block to be coded / decoded, but also motion vectors of neighboring blocks that are temporally adjacent to the current block to be coded / Lt; / RTI >
도 3은 부호화/복호화 대상 픽쳐와 참조 픽쳐의 일 예를 나타낸다.3 shows an example of a picture to be coded / decoded and a reference picture.
도 3을 참조하면, 블록 X는 부호화/복호화 대상 픽쳐(310) 내의 부호화/복호화 대상 블록을 나타내며, 블록 A, 블록 B, 블록 C, 블록 D 및 블록 E는 부호화/복호화 대상 블록의 주변에 위치하는 복원 블록을 나타낸다. 그리고, 참조 픽쳐(320) 내의 블록 T는 부호화/복호화 대상 블록과 대응되는 위치에 존재하는 동등 위치 블록을 나타낸다.Referring to FIG. 3, a block X represents a current block to be encoded / decoded in a
도 4는 본 발명의 일실시예에 따른 영상 부호화방법을 도시한 순서도이다. 4 is a flowchart illustrating an image encoding method according to an embodiment of the present invention.
도 4를 참조하면, 본 발명의 일실시예에 따른 영상 부호화 방법은,기본 계층의 움직임 벡터와 상기 기본 계층의 움직임 벡터의 주변 일정범위를 검색영역으로 설정하여 후보 움직임 벡터를 선택하는 단계를 포함한다. Referring to FIG. 4, a method of encoding an image according to an exemplary embodiment of the present invention includes selecting a candidate motion vector by setting a motion vector of a base layer and a surrounding range of a motion vector of the base layer as a search region do.
먼저, 강화 계층의 PU에 대응하는 기본 계층의 비트스트림으로부터 움직임벡터(mvi)와, 잔차 신호(ci)를 추출한다(S110). 여기서, 기본 계층의 움직임벡터(mvi, i=0 ,..., K)는 강화 계층의 PU에 대응하는 기본 계층의 PU로부터 도출된다. 잔차 신호(ci)는 기본 계층의 PU에서 해당 mvi 를 사용하였을 경우, 움직임 예측 에러의 절대값의 합으로 계산한다.First, a motion vector mv i and a residual signal c i are extracted from a bitstream of a base layer corresponding to a PU of the enhancement layer (S110). Here, the motion vector (mv i , i = 0, ..., K) of the base layer is derived from the PU of the base layer corresponding to the PU of the enhancement layer. The residual signal (c i ) is calculated as the sum of the absolute values of the motion estimation errors when the corresponding mvi is used in the base layer PU.
다음으로, 기본 계층의 움직임 벡터(mvi) 주변의 일정 범위(P)를 움직임 벡터 검색 영역(S)으로 설정한다(S120). 검색 영역을 설정하는 일실시예는 후술한다. Next, a certain range P around the motion vector mv i of the base layer is set as the motion vector search area S (S120). One embodiment for setting the search area will be described later.
이후, 움직임 벡터 검색영역안의 모든 움직임 벡터를 검색하였는지 체크한다(S130).Then, it is checked whether all the motion vectors in the motion vector search area are searched (S130).
상기 체크결과, 모든 움직임 벡터가 검색되지 않았다면, 움직임 벡터 검색 영역에서 검색 움직임 벡터를 선택하는 단계를 수행한다(S140).If all the motion vectors are not found as a result of the check, a search motion vector is selected in the motion vector search area (S140).
이후, 선택된 검색 움직임 벡터에 대해 움직임 벡터 비용 예측 함수를 사용하여 비용을 예측한다(S150).Thereafter, the cost is predicted using the motion vector cost prediction function for the selected search motion vector (S150).
다음으로, 검색 움직임 벡터와 예측된 비용을 메모리에 저장하고(S160), 다시 움직임 벡터 검색영역안의 모든 움직임 벡터를 검색하였는지 체크하는 단계를 재귀적으로 수행한다.Next, the search motion vector and the predicted cost are stored in the memory (S160), and the step of checking again whether all the motion vectors in the motion vector search area are searched is recursively performed.
이때, 움직임 벡터 검색영역안의 모든 움직임 벡터를 검색하였다면, 메모리에 저장되었던 예측 비용중에서 최소값을 찾고 이에 해당하는 검색 움직임 벡터를 최종 후보 움직임 벡터로 선택한다(S170).At this time, if all the motion vectors in the motion vector search area are searched, the minimum value among the predicted costs stored in the memory is searched for and the corresponding search motion vector is selected as the final candidate motion vector (S170).
이후, 상기 최종 후보 움직임 벡터에 대해 공간적 확장비율에 따라 스케일링을 수행한다(S180).Thereafter, the final candidate motion vector is scaled according to the spatial expansion ratio (S180).
마지막으로, 스케일링된 최종 후보 움직임 벡터를 강화 계층의 PU를 위한 Merge 후보 리스트와 AMVP 후보 리스트에 추가하게 된다(S190).Finally, the scaled final candidate motion vector is added to the merge candidate list for the PU of the enhancement layer and the AMVP candidate list (S190).
도 5은 본 발명의 일실시예에 따른 영상 부호화방법에 포함된 움직임 벡터 검색 영역 설정방법을 도시한 것이다.FIG. 5 illustrates a method of setting a motion vector search region included in the image encoding method according to an embodiment of the present invention.
도 5를 참조하면, 기본 계층의 움직임 벡터(mvi) 주변에 수평/수직 방향으로 총 9 픽셀의 일정 범위(P)를 설정하고, 이를 움직임 벡터 검색 영역(S)로 설정한다. 여기서, 검색영역(S)은,상기 기본 계층의 움직임 벡터(mvi)와 검색 움직임 벡터(mvr)의 합으로 결정된다.Referring to FIG. 5, a predetermined range P of a total of 9 pixels is set in the horizontal / vertical direction around the motion vector mv i of the base layer, and is set to the motion vector search area S. Here, the search area S is determined by the sum of the base layer motion vector mv i and the search motion vector mv r .
도 5에서는, 검색 움직임 벡터(mvr)가 {-4, 0, 4}로 구성되었지만, 이는 하나의 실시예이고, 일반적으로 표시하면, {-a, 0, a}로 구성된 집합(여기서, a는 자연수)에서 임의의 2개의 조합으로 구성될 수 있다.In Figure 5, the search motion vector (mv r) a set consisting of, but composed of {4, 0, 4}, which is one embodiment of the example, when the normally appear, {-a, 0, a} (where, and a is a natural number).
한편, 상기 P와 S를 수식으로 표현하면 다음과 같다.The P and S can be expressed by the following equations.
[수학식 1][Equation 1]
P = {mvr = (x, y) : x, y ∈ {-4, 0, 4}, r = 1, ..., 9 } P = {mv r = (x , y): x, y ∈ {-4, 0, 4}, r = 1, ..., 9}
[수학식 2]&Quot; (2) "
S = {mvs = mvi + mvr : i=1, ..., 3, r = 1, ..., 9}S = {mv s = mv i + mv r : i = 1, ..., 3, r = 1, ..., 9}
다음으로, 선택된 검색 움직임 벡터(mvs)를 움직임 벡터 비용 예측 함수(수학식 3)에 대입하여 해당 움직임 벡터를 사용할 경우의 비용을 예측한다. Next, by substituting the selected search motion vector (mv s), a motion vector prediction cost function (equation 3) predicts the cost of using the motion vector.
여기서, 상기 비용 예측 함수는 기본 계층의 움직임 벡터(mvi)가 율-왜곡 최적화의 결과로 구한 움직임 벡터이므로, 검색 움직임 벡터(mv=mvs)가 기본 계층의 움직임 벡터로부터 멀어질수록 비용이 증가한다는 가정을 기반으로 하고 있다.Here, since the cost prediction function is a motion vector obtained as a result of the rate-distortion optimization of the base layer motion vector mv i , as the search motion vector mv = mv s is farther from the motion vector of the base layer, Based on the assumption that it increases.
이에 따라, 수학식 3에서는 두 벡터 간의 거리(l)를 측정할 수 있는 함수를 정의하였다. 수학식 3외에도 두 벡터 간의 거리를 측정할 수 있는 다양한 방법을 본 발명에 사용할 수 있음은 물론이다.Accordingly, in Equation (3), a function capable of measuring the distance (l) between two vectors is defined. In addition to Equation (3), various methods for measuring the distance between two vectors can be used in the present invention.
[수학식 3]&Quot; (3) "
여기서, here,
수학식 3에서 구한 두 벡터 간의 거리(l)와 상기 가정에 기반하여 본 발명에서는 수학식 4의 왜곡 예측 함수를 제안한다. 제안한 왜곡 예측 함수는 거리(l) 가 증가할수록 왜곡값이 증가하지만, 그 증가율은 감소하는 특성이 있다. 또한 a, b 함수 파라메터를 가지고 있으며, 이는 미리 다양한 실험 영상을 통해 구해진 결과이다.(1) between the two vectors obtained in Equation (3) and a distortion prediction function of Equation (4) according to the present invention. The proposed distortion prediction function has the property that the distortion value increases as the distance (l) increases, but the rate of increase decreases. It also has a and b function parameters, which are the results obtained through various experimental images in advance.
[수학식 4]&Quot; (4) "
강화 계층 PU의 PMV(Predictive Motion Vector)와 검색 움직임 벡터(mv)를 부호화하였을 경우 발생하는 비트량 R(mv)에 라그랑지안 지수와 곱하여 수학식 4에서 구한 왜곡 예측값과 합함으로써 기본 계층의 움직임 벡터(mvi)에 의한 비용 값을 수학식 5와 같이 예측할 수 있다. 여기서 PMV와 R(mv)를 구하는 방법은 HEVC 레퍼런스 소프트웨어인 HM에서 제공하는 방법을 그대로 사용하였다.The motion vector of the base layer is calculated by summing the bit amount R (mv) generated when the PMV (Predictive Motion Vector) and the search motion vector (mv) of the enhancement layer PU are coded with the Lagrangian exponent, mvi) can be predicted as shown in Equation (5). Here, the method of obtaining PMV and R (mv) is the same as the method provided by HM, the HEVC reference software.
[수학식 5]&Quot; (5) "
강화 계층 PU에 대응하는 기본 계층의 K 개의 움직임 벡터(mvi, i=0 ,..., K)에 대하여 수학식 5의 비용 예측 함수를 사용하여 비용을 구하고 그것을 모두 합하여 수학식 6와 같이 검색 움직임 벡터(mv=mvs)의 최종 예측 비용을 구하게 된다. K motion vector of the base layer corresponding to the enhancement layer PU (mv i, i = 0 , ..., K) obtained by adding together that the cost using the cost function of the prediction equation (5) with respect to as in the equation (6) The final predicted cost of the search motion vector (mv = mv s ) is obtained.
[수학식 6]&Quot; (6) "
검색 움직임 벡터 중 가장 작은 비용을 갖는 움직임 벡터를 최종 후보 움직임 벡터(mv+)로 결정한다.The motion vector having the smallest cost among the search motion vectors is determined as the final candidate motion vector mv +.
최종 후보 움직임 벡터(mv+)를 공간적 확장 비율에 따라 스케일링하고, 스케일링된 움직임 벡터(mv*)를 강화 계층의 PU를 위한 Merge 후보 리스트와 AMVP 후보 리스트에 추가하게 된다.Scales the final candidate motion vector mv + according to the spatial expansion ratio, and adds the scaled motion vector mv * to the Merge candidate list and the AMVP candidate list for the enhancement layer PU.
이와 같이, 기존의 HEVC 기반 공간적 계층부호화 과정에서 강화 계층의 움직임 벡터를 예측하기 위해 사용하는 기본 계층의 정보는 움직임 벡터로 제한적이지만 본 발명은 움직임 벡터와 잔차신호 등을 사용할 수 있게 확장하여 강화 계층을 위한 정확한 움직임 벡터를 구할 수 있도록 구성하였다. As described above, in the HEVC-based spatial layer coding process, the base layer information used for predicting the motion vector of the enhancement layer is limited to the motion vector. However, the present invention extends the motion vector and residual signal, The motion vector of the motion vector is obtained.
또한, 기본 계층의 LCU가 하위 CU로 분할되고 NxN 타입의 PU를 가질 경우, 강화 계층 LCU의 최적 움직임 벡터 mv* 를 결정을 위해 사용되는 기본 계층의 움직임 벡터는 최대 4개(mv0 , mv1, mv2, mv3)의 서로 다른 값을 가지게 되는데, 이러한 경우도 기본 계층의 4개의 움직임 벡터 중 최적의 움직임 벡터를 선택할 수 있게 된다. 즉, 기본 계층의 4개의 움직임 벡터와 그 주변의 일정 범위의 움직임 벡터 중 강화 계층의 움직임 벡터 예측을 정확하게 수행할 수 있게 된다.When the LCU of the base layer is divided into lower CUs and has NxN type PUs, the motion vector of the base layer used for determining the optimal motion vector mv * of the enhancement layer LCU is maximum 4 (mv0, mv1, mv2 , mv3). In this case, the optimal motion vector among the four motion vectors of the base layer can be selected. That is, it is possible to correctly perform the motion vector prediction of the enhancement layer among the motion vectors of the base layer and the motion vectors of a certain range around the four motion vectors.
100: 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120: 인트라 예측부
125: 감산기 130: 변환부
140: 양자화부 150: 엔트로피 부호화부100: image encoding device 111: motion prediction unit
112: motion compensation unit 120: intra prediction unit
125: subtracter 130:
140: quantization unit 150: entropy coding unit
Claims (20)
강화 계층에 대응하는 (i) 기본 계층의 움직임 벡터와 (ii) 움직임 예측 에러를 이용하여 산출된 잔차 신호를 추출하고, 상기 잔차 신호에 기반한 상기 기본 계층의 움직임 벡터의 주변 일정범위에 대하여 상기 기본 계층의 움직임 벡터와 검색 움직임 벡터의 합으로 결정되는 검색영역을 설정하는 단계;
상기 검색영역 내에서 후보 움직임 벡터를 선택하는 단계; 및
상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리를 기초로 결정하여 상기 선택된 후보 움직임 벡터에 대한 비용을 예측하는 단계;를 포함하는, 영상 부호화 방법.A video encoding method supporting a plurality of layers,
(I) a motion vector of the base layer corresponding to the enhancement layer, and (ii) a residual signal calculated using the motion prediction error, extracts a motion vector of the base layer based on the residual signal, Setting a search area determined by a sum of a motion vector of a layer and a search motion vector;
Selecting a candidate motion vector in the search area; And
And estimating a cost of the selected candidate motion vector by determining a distance between the motion vector of the base layer and the search motion vector.
상기 검색 움직임 벡터는, {-a, 0, a}로 구성된 집합(여기서, a는 자연수)에서 임의의 2개의 조합으로 구성되는, 영상 부호화 방법. The method according to claim 1,
Wherein the search motion vector is composed of any two combinations of a set {-a, 0, a} (where a is a natural number).
상기 비용을 예측하는 단계는, 상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리가 증가할수록 왜곡값이 증가하지만 상기 왜곡값의 증가율은 감소하는 특성을 갖는 왜곡 예측함수를 사용하는, 영상 부호화 방법.The method according to claim 1,
Wherein the predicting the cost uses a distortion prediction function having a characteristic that the distortion value increases as the distance between the motion vector of the base layer and the search motion vector increases but the rate of increase of the distortion value decreases, .
상기 비용을 예측하는 단계는, 상기 검색 움직임 벡터와 강화 계층의 예측 움직임 벡터를 부호화하였을 때 발생하는 비트량과 상기 왜곡 예측함수를 포함하는 비용 예측 함수를 사용하는, 영상 부호화 방법.The method of claim 5,
Wherein the predicting the cost uses a cost prediction function including a bit amount generated when the search motion vector and a prediction motion vector of the enhancement layer are coded and the distortion prediction function.
상기 비용을 예측하는 단계는, 복수개의 상기 기본 계층의 움직임 벡터에 대해 상기 비용 예측 함수로 각 비용을 계산한 후에, 상기 비용을 모두 합한 최종 예측 비용을 계산하는, 영상 부호화 방법.The method of claim 6,
Wherein the cost prediction step calculates each cost by using the cost prediction function for a plurality of motion vectors of the base layer, and then calculates a final prediction cost by summing the costs.
영상 부호화 방법은, 상기 비용을 예측하는 단계에서 최종 예측 비용이 가장 적은 상기 검색 움직임 벡터를 최종 후보 움직임 벡터로 결정하는 단계를 더 포함하는, 영상 부호화 방법.The method of claim 7,
The image coding method according to claim 1, further comprising the step of determining the search motion vector having the smallest final prediction cost as a final candidate motion vector in the step of predicting the cost.
상기 최종 후보 움직임 벡터는, 공간적 확장 비율에 따라 스케일링되는, 영상 부호화 방법.The method of claim 8,
Wherein the final candidate motion vector is scaled according to a spatial expansion ratio.
상기 최종 후보 움직임 벡터는, 통합(Merge) 후보 리스트 또는 향상된 움직임 벡터 예측(Advance Motion Vector Prediction) 후보 리스트에 추가되는, 영상 부호화 방법.The method of claim 9,
Wherein the final candidate motion vector is added to a Merge candidate list or an Advance Motion Vector Prediction candidate list.
상기 프로세서와 연결되며 상기 프로세서를 구동하기 위한 정보를 저장하는 메모리를 포함하되,
상기 프로세서는, 강화 계층에 대응하는 (i) 기본 계층의 움직임 벡터와 (ii) 움직임 예측 에러를 이용하여 산출된 잔차 신호를 추출하고, 상기 잔차 신호에 기반한 상기 기본 계층의 움직임 벡터의 주변 일정범위에 대하여 상기 기본 계층의 움직임 벡터와 검색 움직임 벡터의 합으로 결정되는 검색영역을 설정하고, 상기 검색영역 내에서 후보 움직임 벡터를 선택하고, 상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리를 기초로 결정하여 상기 선택된 후보 움직임 벡터에 대한 비용을 예측하도록 구성되는, 복수 계층을 지원하는 영상 부호화 장치.A processor; And
And a memory coupled to the processor and storing information for driving the processor,
The processor extracts a residual signal calculated using (i) the motion vector of the base layer corresponding to the enhancement layer and (ii) the motion prediction error, and calculates a residual range of a motion vector of the base layer based on the residual signal A motion vector of the base layer and a search motion vector, a candidate motion vector is selected in the search region, and a distance between the motion vector of the base layer and the search motion vector And predict a cost for the selected candidate motion vector.
상기 검색 움직임 벡터는, {-a, 0, a}로 구성된 집합(여기서, a는 자연수)에서 임의의 2개의 조합으로 구성되는, 영상 부호화 장치. The method of claim 11,
Wherein the search motion vector is composed of any two combinations in a set {-a, 0, a} (where a is a natural number).
상기 비용의 예측은, 상기 기본 계층의 움직임 벡터와 상기 검색 움직임 벡터간의 거리가 증가할수록 왜곡값이 증가하지만 상기 왜곡값의 증가율은 감소하는 특성을 갖는 왜곡 예측함수를 사용하도록 구성되는, 영상 부호화 장치.The method of claim 11,
Wherein the prediction of the cost is configured to use a distortion prediction function having a characteristic that the distortion value increases as the distance between the motion vector of the base layer and the search motion vector increases but the rate of increase of the distortion value decreases. .
상기 비용의 예측은, 상기 검색 움직임 벡터와 강화 계층의 예측 움직임 벡터를 부호화하였을 때 발생하는 비트량과 상기 왜곡 예측함수를 포함하는 비용 예측 함수를 사용하도록 구성되는, 영상 부호화 장치.16. The method of claim 15,
Wherein the cost prediction unit is configured to use a cost prediction function including a bit amount generated when the search motion vector and a prediction motion vector of the enhancement layer are coded and the distortion prediction function.
상기 비용의 예측은, 복수개의 상기 기본 계층의 움직임 벡터에 대해 상기 비용 예측 함수로 각 비용을 계산한 후에, 상기 비용을 모두 합한 최종 예측 비용을 계산하도록 구성되는, 영상 부호화 장치.18. The method of claim 16,
Wherein the prediction of the cost is configured to calculate each cost with the cost prediction function for a plurality of motion vectors of the base layer and then calculate a final predicted cost by summing the costs.
영상 부호화 장치는, 상기 비용을 예측하는 단계에서 최종 예측 비용이 가장 적은 상기 검색 움직임 벡터를 최종 후보 움직임 벡터로 결정하도록 구성되는, 영상 부호화 장치.18. The method of claim 17,
Wherein the image encoding apparatus is configured to determine the search motion vector having the smallest final prediction cost as a final candidate motion vector in the step of predicting the cost.
상기 최종 후보 움직임 벡터는, 공간적 확장 비율에 따라 스케일링되도록 구성되는, 영상 부호화 장치.19. The method of claim 18,
Wherein the final candidate motion vector is configured to be scaled according to a spatial expansion ratio.
상기 최종 후보 움직임 벡터는, 통합(Merge) 후보 리스트 또는 향상된 움직임 벡터 예측(Advance Motion Vector Prediction) 후보 리스트에 추가되도록 구성되는, 영상 부호화 장치.The method of claim 19,
Wherein the final candidate motion vector is configured to be added to a Merge candidate list or an Advance Motion Vector Prediction candidate list.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120116479 | 2012-10-19 | ||
KR20120116479 | 2012-10-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140051026A KR20140051026A (en) | 2014-04-30 |
KR101891192B1 true KR101891192B1 (en) | 2018-08-23 |
Family
ID=50655924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120156964A Active KR101891192B1 (en) | 2012-10-19 | 2012-12-28 | Method and Apparatus for image encoding |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101891192B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023200101A1 (en) * | 2022-04-15 | 2023-10-19 | 삼성전자 주식회사 | Image encoding/decoding method and device |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016068685A1 (en) * | 2014-10-31 | 2016-05-06 | 삼성전자 주식회사 | Video encoding device and video decoding device using high-precision skip encoding and method thereof |
CN116708827A (en) * | 2019-02-28 | 2023-09-05 | 华为技术有限公司 | Encoder, decoder and corresponding inter prediction method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100944333B1 (en) * | 2007-07-30 | 2010-03-02 | 한국과학기술원 | Fast Decision of Inter-layer Prediction Mode in Scalable Video Coding |
KR101377527B1 (en) * | 2008-10-14 | 2014-03-25 | 에스케이 텔레콤주식회사 | Method and Apparatus for Encoding and Decoding Motion Vector in Plural Number of Reference Pictures and Video Encoding/Decoding Method and Apparatus Using Same |
-
2012
- 2012-12-28 KR KR1020120156964A patent/KR101891192B1/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023200101A1 (en) * | 2022-04-15 | 2023-10-19 | 삼성전자 주식회사 | Image encoding/decoding method and device |
Also Published As
Publication number | Publication date |
---|---|
KR20140051026A (en) | 2014-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101947142B1 (en) | Methods of decoding using skip mode and apparatuses for using the same | |
KR101269116B1 (en) | Decoding method of inter coded moving picture | |
KR101356734B1 (en) | Method and apparatus for video encoding, and method and apparatus for video decoding using motion vector tracking | |
KR20230042673A (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
KR101718886B1 (en) | Method and apparratus of video decoding | |
KR101430048B1 (en) | Apparatus for decoding a moving picture | |
KR102511581B1 (en) | Method and apparatus for encoding/decoding image and recording medium for storing bitstream | |
JP2023076744A (en) | Size selection application for decoder-side refinement tools | |
KR101420957B1 (en) | Image encoding device, image decoding device, image encoding method, and image decoding method | |
JP2020526109A (en) | Motion vector refinement for multi-reference prediction | |
KR20190033624A (en) | Inter prediction method and apparatus in video coding system | |
KR20130067280A (en) | Decoding method of inter coded moving picture | |
KR101891192B1 (en) | Method and Apparatus for image encoding | |
KR101895389B1 (en) | Method and Apparatus for image encoding | |
KR20140087137A (en) | Method and apparratus of adaptive bi-prediction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20121228 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20170607 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20121228 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20180109 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20180730 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20180817 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20180817 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20210826 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20220816 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20240724 Start annual number: 7 End annual number: 7 |