KR20110049586A - Video coding method and apparatus by using tool set - Google Patents
Video coding method and apparatus by using tool set Download PDFInfo
- Publication number
- KR20110049586A KR20110049586A KR1020090106658A KR20090106658A KR20110049586A KR 20110049586 A KR20110049586 A KR 20110049586A KR 1020090106658 A KR1020090106658 A KR 1020090106658A KR 20090106658 A KR20090106658 A KR 20090106658A KR 20110049586 A KR20110049586 A KR 20110049586A
- Authority
- KR
- South Korea
- Prior art keywords
- encoding
- tool set
- scheme
- image
- coding
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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/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
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/24—Systems for the transmission of television signals using pulse code modulation
Abstract
Description
본 발명은 툴 셋을 이용한 영상 부호화/복호화 방법 및 장치에 관한 것이다. 더욱 상세하게는, 적응적 부호화 기술을 이용하여 예측 잔여 신호를 부호화하는 데 있어서, 툴 셋을 이용하여 부호화 방식 또는 복호화 방식을 효율적으로 선택하여 부호화함으로써 영상의 압축 효율을 향상시키기 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for image encoding / decoding using a tool set. More specifically, in encoding a prediction residual signal using an adaptive encoding technique, a method and apparatus for improving the compression efficiency of an image by efficiently selecting and encoding an encoding scheme or a decoding scheme using a tool set. It is about.
비디오 압축 기술의 발달은 영상 매체를 더욱 효율적으로 사용할 수 있는 방법의 기반을 마련하였다. 특히, H.264/AVC 동영상 부호화 기술은 이전의 부호화 기술에 비해 2 배 정도의 압축 성능을 향상시킨다. H.264/AVC 술은 복합형 부호화 기술에 기초하여 시간 및 공간 영역에서의 부호화라는 특징이 있다.Advances in video compression technology have laid the foundations for more efficient use of video media. In particular, the H.264 / AVC video encoding technique improves the compression performance by about 2 times compared to the previous encoding technique. H.264 / AVC technology has a feature of coding in the time and space domain based on a hybrid coding technique.
시간 영역에서의 부호화는 참조 프레임의 이미지로부터의 움직임 보상 예측(Motion Compensated Prediction)을 통해 영상의 시간적 중복성(Temporal Redundancy)를 감소시킨다. 움직임 보상 예측은 참조 프레임의 블록과 현재 프레임의 현재 부호화하고자 블록 간의 상관 관계, 즉 움직임 벡터에 의해 결정되고, 움직임 벡터를 블록 단위로 예측된 영상을 얻는다. 예측된 영상과 원본 영상의 차로 서 얻어지는 예측 잔여는 블록 단위로 정렬되고 주파수 영역으로 변환된 후 양자화되어 부호화된다. 하지만, 블록 내의 예측 잔여들이 공간 영역에서 서로 상관 관계를 가질 때만, 즉 낮은 주파수 대역에 존재할 경우에만 주파수 영역으로의 변환에 의해 부호화 효율을 높아지는 반면, 공간 영역에서 약간만 상관되어 있는 경우에는 효율이 낮아지는 문제점이 있다.Coding in the time domain reduces temporal redundancy of an image through motion compensation prediction from an image of a reference frame. The motion compensation prediction is determined by a correlation between a block of a reference frame and a block to be currently encoded of the current frame, that is, a motion vector, and obtains a motion vector predicted block by block. The prediction residual obtained as the difference between the predicted image and the original image is aligned in blocks, transformed into a frequency domain, and then quantized and encoded. However, when the prediction residuals in a block correlate with each other in the spatial domain, that is, only when they exist in a low frequency band, the encoding efficiency is increased by the conversion to the frequency domain, while the efficiency is low when only a few correlations are performed in the spatial domain. There is a problem losing.
이러한 문제점을 해결하기 위해 기존의 주파수 영역에서 예측 잔여를 부호화하는 방법에 주파수 변환을 하지 않고 공간적 영역에서 예측 잔여를 부호화하는 방법을 추가하여, 예측 잔여 신호를 주파수 영역으로 변환할 것인지 또는 부호화를 위해 예측 잔여 신호를 공간 영역에서 유지할 것인지를 적응적으로 판단하여 부호화하는 기술이 제안되었다. 하지만, 이 기술은 변환을 수행하지 않는 경우가 변환을 하는 경우보다 오히려 더 효과적일 수 있다는 것을 전제로 한다.In order to solve this problem, a method of encoding a prediction residual in a spatial domain without performing a frequency conversion is added to an existing method of encoding the prediction residual in a frequency domain, thereby converting the prediction residual signal into a frequency domain or for encoding. A technique for adaptively determining and encoding whether to maintain a prediction residual signal in a spatial domain has been proposed. However, this technique assumes that no conversion can be more effective than a conversion.
이와 같은 기술은 H.264/AVC 부호화 기술과 비교할 때, 더욱 높은 부호화 성능을 제공할 수 있지만, 블록 내 예측 잔여의 화소들이 공간 영역에서 상관성이 낮을 뿐만 아니라 큰 잔여와 작은 잔여들이 불규칙하게 산재하여 있는 경우, 효율성이 떨어지는 문제점이 있다.While this technique can provide higher coding performance when compared to H.264 / AVC coding, the pixels of prediction residuals in a block not only have low correlation in the spatial domain, but also large irregularities and small residuals are scattered irregularly. If so, there is a problem of low efficiency.
전술한 문제점을 해결하기 위해 본 발명은, 다양한 부호화 방식 중에 효율이 좋은 부호화 방식을 이용하여 영상을 부호화하여 압축 효율을 향상시키면서도 부호화를 위한 연산량을 줄이는 데 주된 목적이 있다.In order to solve the above problems, the present invention has a main object to reduce the amount of calculation for encoding while improving the compression efficiency by encoding the image using a coding method having a good efficiency among various coding methods.
전술한 목적을 달성하기 위해 본 발명은, 영상을 부호화하는 장치에 있어서, 부호화 툴 셋에 포함되는 복수 개의 부호화 방식에 따라 부호화 단위의 영상을 부호화하는 복수 개의 영상 부호화기; 부호화 단위마다 복수 개의 부호화 방식 중 하나의 부호화 방식을 선택하고 선택되는 부호화 방식으로 부호화된 영상 데이터를 출력하는 부호화 방식 선택기; 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하는 빈도수 메모리; 및 부호화 방식의 선택 빈도수 및 선택되는 부호화 방식에 따른 부호화 비용 중 하나 이상을 기초로 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트하는 부호화 툴 셋 관리기를 포함하는 것을 특징으로 하는 영상 부호화 장치를 제공한다.According to an aspect of the present invention, there is provided an apparatus for encoding an image, the apparatus comprising: a plurality of image encoders encoding an image of a coding unit according to a plurality of encoding schemes included in an encoding tool set; An encoding scheme selector for selecting one encoding scheme among a plurality of encoding schemes for each coding unit and outputting image data encoded by the selected encoding scheme; A frequency memory for storing a selection frequency of an encoding scheme selected for each coding unit; And an encoding tool set manager configured to update the encoding tool set by determining whether to update the encoding tool set based on at least one of a frequency of selection of the encoding scheme and an encoding cost according to the selected encoding scheme. To provide.
또한, 본 발명의 다른 목적에 의하면, 영상을 복호화하는 장치에 있어서, 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하는 빈도수 메모리; 비트스트림으로부터 추출되는 부호화 방식 인덱스 데이터 및 업데이트 데이터를 복호화하여 부호화 방식 인덱스 및 업데이트 정보를 복원하고, 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식을 선택하며, 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 복원되는 부호화 단위의 영상을 출력하며, 선택 빈도수 및 복원되는 업데이트 정보를 기초로 부호화 툴 셋을 업데이트하는 부호화 툴 셋 관리기; 및 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 비트스트림으로부터 추출되는 영상 부호화 데이터를 복호화하여 부호화 단위의 영상을 복원하는 복수 개의 영상 복호화기를 포함하 는 것을 특징으로 하는 영상 복호화 장치를 제공한다.According to another object of the present invention, there is provided an apparatus for decoding an image, comprising: a frequency memory for storing a selection frequency of an encoding scheme selected for each coding unit; Decoding encoding scheme index data and update data extracted from the bitstream to restore encoding scheme index and update information, and selecting an encoding scheme identified by the encoding scheme index to be restored among a plurality of encoding schemes included in the encoding toolset, An encoding tool set manager configured to output an image of a coding unit reconstructed according to a decoding scheme corresponding to a selected encoding scheme, and to update an encoding tool set based on a selection frequency and reconstructed update information; And a plurality of image decoders for reconstructing an image of a coding unit by decoding image encoded data extracted from a bitstream according to a decoding scheme corresponding to a selected encoding scheme.
또한, 본 발명의 또 다른 목적에 의하면, 영상을 부호화하는 방법에 있어서, 부호화 툴 셋에 포함되는 복수 개의 부호화 방식에 따라 부호화 단위의 영상을 부호화하는 단계; 부호화 단위마다 복수 개의 부호화 방식 중 하나의 부호화 방식을 선택하고 선택되는 부호화 방식에 따라 부호화된 영상 데이터를 출력하는 단계; 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하는 단계; 및 부호화 방식의 선택 빈도수 및 선택되는 부호화 방식에 따른 부호화 비용 중 하나 이상을 기초로 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트하는 단계를 포함하는 것을 특징으로 하는 영상 부호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of encoding an image, the method comprising: encoding an image of a coding unit according to a plurality of encoding methods included in an encoding tool set; Selecting one encoding scheme among a plurality of encoding schemes for each coding unit and outputting image data encoded according to the selected encoding scheme; Storing a selection frequency of a coding scheme selected for each coding unit; And determining whether to update the encoding tool set based on at least one of a frequency of selection of the encoding scheme and an encoding cost according to the selected encoding scheme, thereby updating the encoding tool set. .
또한, 본 발명의 또 다른 목적에 의하면, 영상을 복호화하는 방법에 있어서, 비트스트림으로부터 추출되는 부호화 방식 인덱스 데이터 및 업데이트 데이터를 복호화하여 부호화 방식 인덱스 및 업데이트 정보를 복원하는 단계; 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식을 선택하고 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 비트스트림으로부터 추출되는 영상 부호화 데이터를 복호화하여 부호화 단위의 영상을 복원하는 단계; 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하는 단계; 및 선택 빈도수 및 복원되는 업데이트 정보를 기초로 부호화 툴 셋을 업데이트하는 단계를 포함하는 것을 특징으로 하는 영상 복호화 방법을 제공한다.According to still another object of the present invention, there is provided a method of decoding an image, the method comprising: restoring encoding scheme index and update information by decoding encoding scheme index data and update data extracted from a bitstream; Selects an encoding method identified by a reconstructed encoding method index among a plurality of encoding methods included in the encoding tool set, and decodes the image encoded data extracted from the bitstream according to a decoding method corresponding to the selected encoding method to determine a coding unit. Restoring the image; Storing a selection frequency of a coding scheme selected for each coding unit; And updating the encoding tool set based on the selection frequency and the reconstructed update information.
이상에서 설명한 바와 같이 본 발명에 의하면, 영상을 부호화할 때 소정의 부호화 단위마다 다양한 부호화 방식 중 효율이 좋은 부호화 방식을 선택하여 부호화하면서도 효율이 좋은 부호화 방식을 선택하기 위한 연산량이나 장치의 구현 복잡도를 줄일 수 있을 뿐만 아니라 선택되는 부호화 방식을 나타내기 위한 추가 정보를 부호화하는 데 소요되는 비트량을 줄일 수 있으므로, 압축 효율을 향상시키고 장치의 구현을 간소화할 수 있다.As described above, according to the present invention, when encoding an image, a computation amount or an implementation complexity for selecting an efficient encoding scheme while selecting and encoding an efficient encoding scheme among various coding units is selected. In addition to reducing the amount of bits required to encode additional information for indicating the selected encoding scheme, the compression efficiency can be improved and the implementation of the apparatus can be simplified.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through exemplary drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the component of this invention, terms, such as 1st, 2nd, A, B, (a), (b), can be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms. If a component is described as being "connected", "coupled" or "connected" to another component, that component may be directly connected or connected to that other component, but between components It will be understood that may be "connected", "coupled" or "connected".
이하에서 후술할 영상 부호화 장치(Video Encoding Apparatus) 및 영상 복호 화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal) 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 움직임 벡터를 부호화거나 복호화거나 영상을 부호화하거나 복호화하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.The video encoding apparatus (Video Encoding Apparatus) and the video decoding apparatus (Video Decoding Apparatus) to be described later will be a personal computer (PC), notebook computer, personal digital assistant (PDA), portable multimedia player ( It may be a user terminal such as a PMP (Portable Multimedia Player), a PlayStation Portable (PSP), or a Mobile Communication Terminal, or a server terminal such as an application server or a service server, and may communicate with various devices or wired / wireless communication networks. Various devices including a communication device such as a communication modem for performing, various programs for encoding or decoding a motion vector, encoding or decoding an image, a memory for storing data, a microprocessor for executing and operating a program, and the like. Means the device.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.In addition, the image encoded in the bitstream by the video encoding apparatus is real-time or non-real-time through the wired or wireless communication network, such as the Internet, local area wireless communication network, wireless LAN network, WiBro network, mobile communication network, or the like, or a cable, universal serial bus (USB: Universal) It may be transmitted to an image decoding apparatus through various communication interfaces such as a serial bus, and may be decoded by the image decoding apparatus to restore and reproduce the image.
통상적으로 동영상은 일련의 픽처(Picture)로 구성되어 있으며, 각 픽처들은 블록(Block)과 같은 소정의 영역으로 분할된다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류된다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 부호화하고자 하는 블록인 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 픽처를 참조 픽처(Reference Picture)라고 한다.In general, a moving picture is composed of a series of pictures, and each picture is divided into a predetermined area such as a block. When a region of an image is divided into blocks, the divided blocks are largely classified into intra blocks and inter blocks according to encoding methods. An intra block refers to a block that is encoded by using an intra prediction coding method. An intra prediction coding is performed by using pixels of blocks previously encoded, decoded, and reconstructed in a current picture that performs current encoding. A prediction block is generated by predicting pixels of a current block, which is a block to be encoded, and a difference value with pixels of the current block is encoded. An inter block refers to a block that is encoded using inter prediction coding. Inter prediction coding generates a prediction block by predicting a current block within a current picture by referring to one or more past or future pictures, and then generates a current block. This is a method of encoding the difference value with. Here, a picture referred to for encoding or decoding the current picture is referred to as a reference picture.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도이다.1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 장치(100)는 부호화 툴 셋 관리기(Encoding Tool Set Manager, 110), 복수 개의 영상 부호화기(Video Encoder), 부호화 방식 선택기(Encoding Method Selector, 160) 및 빈도수 메모리(Frequency Number Memory, 170)를 포함하여 구성될 수 있다.The
부호화 툴 셋 관리기(110)는 부호화 툴 셋을 저장하고, 부호화 방식의 선택 빈도수 및 선택되는 부호화 방식에 따른 부호화 비용 중 하나 이상을 기초로 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트한다. 즉, 부호화 툴 셋 관리기(110)는 영상 부호화 장치(100)에서 이용 가능한 다양한 부호화 방식 중에서 효율이 좋은 복수 개의 부호화 방식을 포함하는 부호화 툴 셋을 저장하고, 빈도수 메모리(170)에 저장되는 부호화 방식의 선택 빈도수와 부호화 방식 선택기(160)에 의해 선택되는 부호화 방식에 따라 부호화 단위의 영상을 부호화할 때의 부호화 비용을 기초로 저장된 부호화 툴 셋 내의 복수 개의 부호화 방식 중 일부를 교체하여 업데이트할지 여부를 결정하고 그에 따라 부호화 툴 셋을 업데이트한다. 부호화 툴 셋 관리기(110)에 대해서는 후술하는 과정에서 도 2를 통해 상세히 설명한다. The encoding tool set
본 발명의 일 실시예에서, 부호화 툴 셋이란 복수 개의 부호화 방식을 식별하기 위한 정보가 포함된 집합을 말한다. 복수 개의 부호화 방식이란 영상을 압축하기 위해 영상 부호화 장치(100)에서 이용 가능한 부호화 방식 중에 효율이 좋은 것으로 선택된 제한된 개수의 부호화 방식을 말한다. 이러한 부호화 툴 셋에 포함되는 복수 개의 부호화 방식은 영상을 부호화하는 초기에는 기 정해진 부호화 방식들로 설정될 수 있지만, 부호화 과정에 따라 적응적으로 교체되어 업데이트될 수 있다.In an embodiment of the present invention, an encoding tool set refers to a set including information for identifying a plurality of encoding schemes. The plurality of encoding schemes refers to a limited number of encoding schemes selected from among the encoding schemes available in the image encoding
이용 가능한 부호화 방식은 영상 부호화 장치(100)와 후술할 영상 복호화 장치가 서로 미리 약속된다는 전제하에서, 임의의 개수와 임의의 부호화 방식으로 설정될 수 있다. 예를 들어, 이용 가능한 부호화 방식은 도 3에 도시한 바와 같이 제 1 부호화 방식, 제 2 부호화 방식, 제 3 부호화 방식 및 제 4 부호화 방식 등 4 개의 부호화 방식이 될 수 있다.Available encoding schemes may be set to any number and arbitrary encoding schemes under the assumption that the image encoding
여기서, 제 1 부호화 방식은 영상을 부호화할 때 예측 잔여에 대해 주파수 영역에서 부호화하는 방식을 말하며, 제 2 부호화 방식은 영상을 부호화할 때 예측 잔여에 대해 공간 영역에서 부호화하는 방식을 말하며, 제 3 부호화 방식은 영상을 부호화할 때 추가 예측 잔여에 대해 주파수 영역으로 부호화하는 방식을 말하며, 제 4 부호화 방식은 영상을 부호화할 때 추가 예측 잔여에 대해 공간 영역에서 부호화하는 방식을 말한다.Here, the first encoding method refers to a method of encoding a prediction residual in a frequency domain when encoding an image, and the second encoding method refers to a method of encoding a prediction residual in a spatial domain when encoding an image. The encoding method refers to a method of encoding an additional prediction residual in a frequency domain when encoding an image, and the fourth encoding method refers to a method of encoding an additional prediction residual in a spatial domain when encoding an image.
본 발명의 일 실시예에서, 추가 예측이란 1차로 예측하여 생성되는 예측 잔여에 잔존하는 시간적 또는 공간적 중복성을 더욱 제거하기 위해 추가로 예측하여 예측 잔여를 더욱 줄이기 위한 것을 말한다. 추가 예측으로서는 움직임 벡터를 기반으로 이전 참조 픽처로부터의 추가 예측, 현재 블록의 주변 블록을 이용한 추가 예측, 벡터 양자화를 이용한 추가 예측, 대표 블록 선정을 이용한 추가 예측 등 다양한 추가 예측이 이용될 수 있다. 따라서, 이러한 다양한 추가 예측이 각각 사용되는 경우에는 이용 가능한 부호화 방식의 개수도 사용되는 추가 예측의 개수에 따라 증가할 수 있다.In an embodiment of the present invention, the additional prediction refers to further predicting and further reducing the prediction residual to further remove temporal or spatial redundancy remaining in the prediction residual generated by the primary prediction. As the additional prediction, various additional predictions, such as additional prediction from a previous reference picture, additional prediction using neighboring blocks of the current block, additional prediction using vector quantization, and additional prediction using representative block selection, may be used based on the motion vector. Accordingly, when each of these various additional predictions is used, the number of available coding schemes may also increase according to the number of additional predictions used.
다만, 도 3에 나타낸 부호화 방식은 종류는 예시적인 것일 뿐, 본 발명의 일 실시예에서 복수 개의 부호화 방식이 도 3에 도시한 예시로 한정되는 것은 아니며, 그외의 다양한 부호화 방식이 이용될 수 있다.However, the types of encoding schemes shown in FIG. 3 are merely exemplary, and in one embodiment of the present invention, the plurality of encoding schemes is not limited to the example illustrated in FIG. 3, and various other encoding schemes may be used. .
다시 도 1을 참조하면, 복수 개의 영상 부호화기는 부호화 툴 셋에 포함되는 복수 개의 부호화 방식에 따라 부호화 단위의 영상을 부호화한다. 즉, 복수 개의 영상 부호화기는 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 각각에 따라 부호화 단위의 영상을 부호화하여 각 부호화 방식별로 영상 부호화 데이터를 생성한다. 이러한 복수 개의 영상 부호화기는 부호화 툴 셋에 포함되는 부호화 방식의 개수보다 많게 영상 부호화 장치(100)에 구성될 수 있다.Referring back to FIG. 1, a plurality of image encoders encode an image of a coding unit according to a plurality of encoding schemes included in an encoding tool set. That is, the plurality of image encoders encode the image of the coding unit according to each of the plurality of encoding schemes included in the encoding tool set to generate image encoded data for each encoding scheme. The plurality of image encoders may be configured in the
복수 개의 영상 부호화기는 영상 부호화 장치(100)에 이용 가능한 부호화 방 식의 개수로 구성될 수 있다. 예를 들어, 도 3을 통해 전술한 바와 같이 이용 가능한 부호화 방식이 제 1 부호화 방식 내지 제 4 부호화 방식인 경우, 도 1에 도시한 제 1 영상 부호화기(120) 내지 제 4 영상 부호화기(150)는 각각 제 1 부호화 방식 내지 제 4 부호화 방식에 따라 영상을 부호화하는 부호화기가 될 수 있다.The plurality of image encoders may be configured with the number of encoding methods available to the
이 경우, 제 1 영상 부호화기(120)는 예측기(Predictor), 감산기(Subtracter), 변환기 및 양자화기(Transformer and Quantizer), 부호화기(Encoder)를 포함하여 구성될 수 있으며, 역 양자화기 및 역 변환기(Inverse Transformer and Inverse Quantizer), 가산기(Adder), 디블로킹 필터(Deblocking Filter), 메모리(Memory) 등을 추가로 포함할 수 있다. 여기서, 예측기는 현재 블록의 인터 예측 또는 인트라 예측하여 예측 블록(Predicted Block)을 생성하며, 감산기는 현재 블록과 예측 블록을 감산하여 잔여 블록(Residual Block)을 생성하며, 변환기 및 양자화기는 잔여 블록을 변환 및 양자화하여 양자화된 변환 계수(Quantized Transform Coefficient)를 생성하며, 부호화기는 양자화된 변환 계수를 부호화하여 영상 데이터를 생성한다. 또한, 역 양자화기 및 역 변환기는 양자화된 변환 계수를 역 양자화 및 역 변환하여 잔여 블록을 복원하고 가산기는 예측 블록과 복원되는 잔여 블록을 복원하여 현재 블록을 복원하며, 복원된 현재 블록은 디블로킹 필터(Deblocking Filter)에 의해 디블로킹 필터링되어 메모리에 픽처 단위로 누적되어 참조 픽처로서 저장되고 다음 블록 또는 다음 픽처를 예측하는 데 활용된다.In this case, the
또한, 제 2 영상 부호화기(120)는 예측 잔여를 공간 영역에서 부호화하므로, 제 1 영상 부호화기(120)의 구성에서 변환기와 역 변환기를 제외한 모든 구성을 포함하여 구성될 수 있다. 제 3 영상 부호화기(140)는 추가 예측 잔여에 대해 주파수 영역에서 부호화하므로, 제 1 영상 부호화기(120)의 구성에서 감산기와 변환기 및 양자화기 사이에 추가 예측을 위한 예측기를 추가로 포함하여 구성될 수 있다. 제 4 영상 부호화기(150)는 추가 예측 잔여에 대해 공간 영역에서 부호화하므로, 제 3 영상 부호화기(140)의 모든 구성에서 변환기와 역 변환기를 제외한 모든 구성을 포함하여 구성될 수 있다.In addition, since the
또한, 제 1 영상 부호화기(120) 내지 제 4 영상 부호화기(140)는 예측 잔여 또는 추가 예측 잔여를 주파수 영역에서 부호화할 것인지 또는 공간 영역에서 부호화할 것인지 여부를 결정하거나 추가 예측을 통해 부호화할 것인지 여부를 결정하는 적응 제어기를 추가로 포함할 수 있다. 이러한 적응 제어기는 대해 라그랑주 파라미터(Lagrange Parameter)에 의해 가중되는 율(Rate)과 왜곡(Distortion)에 따른 비용(Cost)이 최소가 되는지 여부를 판단하여 전술한 각 경우를 결정할 수 있다.In addition, the
다만, 도 1에서는 복수 개의 영상 부호화기가 제 1 영상 부호화기(First Video Encoder, 120) 내지 제 4 영상 부호화기(Fourth Video Encoder, 150)로 구성되는 것으로 도시하였지만, 이는 예시적인 것을 뿐 복수 개의 영상 부호화기는 이용 가능한 부호화 방식의 개수 이상의 영상 부호화기로 구성될 수 있다.In FIG. 1, although the plurality of video encoders are configured as the
부호화 방식 선택기(160)는 부호화 단위마다 복수 개의 부호화 방식 중 하나의 부호화 방식을 선택하고 선택되는 부호화 방식으로 부호화된 영상 데이터를 출력한다. 이를 위해, 부호화 방식 선택기(160)는 부호화 단위마다 복수 개의 영상 부호화기 각각으로부터 출력되는 영상 부호화 데이터를 분석하여 각 부호화 방식에 따라 부호화하는 데 소요되는 부호화 비용을 계산하고 계산된 부호화 비용이 가장 작은 부호화 방식을 선택할 수 있다. 이때, 부호화 비용으로서는 율-왜곡 비용(Rate-Distortion Cost)이 될 수 있지만, 반드시 이에 한정되지 않고 다양한 부호화 비용이 이용될 수 있다.The
또한, 부호화 방식 선택기(160)는 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 누적하여 빈도수 메모리(170)에 저장한다. 예를 들어, 부호화 방식 선택기(160)는 첫 번째 부호화 단위에서 제 1 부호화 방식이 선택되면 제 1 부호화 방식의 선택 빈도수를 1로 설정하여 빈도수 메모리(170)에 저장하고 두 번째 부호화 단위에서도 제 1 부호화 방식이 선택되면 제 1 부호화 방식의 선택 빈도수를 1만큼 증가시켜 2로 설정하여 빈도수 메모리(170)에 저장하며, 세 번째 부호화 단위에는 제 2 부호화 방식이 선택되면 제 2 부호화 방식의 선택 빈도수를 1로 설정하여 빈도수 메모리(170)에 저장한다. 부호화 방식 선택기(160)는 이와 같은 방식으로 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 누적하여 빈도수 메모리(170)에 저장한다.In addition, the
또한, 부호화 방식 선택기(160)는 부호화 단위마다 선택되는 부호화 방식을 나타내는 부호화 방식 인덱스를 부호화할 수 있는데, 부호화 방식 인덱스가 부호화되어 생성되는 부호화 방식 인덱스 데이터의 비트수는 부호화 툴 셋에 포함되는 부호화 방식의 개수에 의해 결정될 수 있다. 즉, 부호화 툴 셋에 포함되는 부호화 방 식의 개수가 n 개라고 가정하면, 부호화 방식 인덱스 데이터의 비트수는 log 2 n이 될 수 있다.In addition, the
빈도수 메모리(170)는 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장한다. 저장된 부호화 방식이 선택 빈도수는 부호화 툴 셋 관리기(110)가 부호화 툴 셋을 업데이트할지 여부를 결정하는 데 활용된다.The
도 2는 본 발명의 일 실시예에 따른 영상 부호화를 위한 부호화 툴 셋 관리기를 간략하게 나타낸 블록 구성도이다.2 is a block diagram schematically illustrating an encoding tool set manager for image encoding according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화를 위한 부호화 툴 셋 관리기(110)는 툴 셋 업데이트 판단기(Tool Set Update Determiner, 210), 추가 부호화 방식 선택기(Additional Encoding Method Selector, 220), 툴 셋 업데이트기(Tool Set Updator, 230) 및 업데이트 정보 부호화기(Update Information Encoder, 240)를 포함하여 구성될 수 있다.The encoding tool set
툴 셋 업데이트 판단기(210)는 부호화 방식의 선택 빈도수 및 선택되는 부호화 방식에 따른 부호화 비용 중 하나 이상을 기초로 부호화 툴 셋의 업데이트 여부를 결정한다. 즉, 툴 셋 업데이트 판단기(210)는 부호화 단위의 영상을 부호화할 때마다 빈도수 메모리(170)에 저장된 부호화 방식의 선택 빈도수 및/또는 부호화 방식 선택기(160)에 의해 선택되는 부호화 방식에 따라 부호화된 영상 데이터의 부호화 비용을 기초로 저장된 부호화 툴 셋을 업데이트할지 여부를 결정한다.The tool set
이를 위해, 툴 셋 업데이트 판단기(210)는 복수 개의 부호화 방식 중 어느 하나의 부호화 방식이 기 설정된 연속 회수로 연속해서 선택되는 경우, 부호화 툴 셋을 업데이트하는 것으로 결정할 수 있다. 즉, 툴 셋 업데이트 판단기(210)는 부호화 단위의 영상이 부호화될 때마다 빈도수 메모리(170)에 저장된 선택 빈도수를 확인하여 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중에서 기 설정된 연속 회수로 연속해서 선택된 부호화 방식이 발생한 경우, 부호화 툴 셋을 업데이트하는 것으로 결정할 수 있다.To this end, the tool set
이때, 복수 개의 부호화 방식 중에서 그 종류에 상관없이 기 설정된 연속 회수로 연속해서 선택된 경우에는 부호화 툴 셋을 업데이트하는 것으로 결정할 수도 있지만, 복수 개의 부호화 방식 중에서 특정한 부호화 방식이 연속 회수 연속해서 선택되는 경우에만 부호화 툴 셋을 업데이트하는 것으로 결정할 수도 있다. 여기서, 특정한 부호화 방식은 도 3에서 예시한 제 1 부호화 방식과 같이 예측 잔여에 대해 주파수 영역으로 변환해서 부호화하는 방식일 수 있다. 즉, 복수 개의 부호화 방식 중 어느 한 부호화 방식 특히 제 1 부호화 방식과 같은 통상적인 부호화 방식이 연속해서 선택되었다는 것은 부호화 툴 셋 내의 다른 부호화 방식이 효율적이지 못해 부호화 방식으로 선택되지 못했다는 것을 의미할 수 있으므로 부호화 툴 셋을 효율적으로 관리하기 위해 부호화 툴 셋의 업데이트하는 것으로 결정할 수 있는 것이다.In this case, if a plurality of encoding schemes are continuously selected with a predetermined number of consecutive times regardless of the type, it may be determined to update the encoding toolset, but only when a specific encoding scheme is continuously selected among the plurality of encoding schemes. You may decide to update the encoding toolset. Here, the specific encoding scheme may be a scheme of transforming the prediction residual into a frequency domain and encoding the residual residual, as in the first encoding scheme illustrated in FIG. 3. In other words, one of a plurality of encoding schemes, in particular, a conventional encoding scheme such as the first encoding scheme is selected continuously may mean that the other encoding scheme in the encoding toolset has not been selected as the encoding scheme because it is not efficient. Therefore, in order to efficiently manage the encoding tool set, it may be decided to update the encoding tool set.
또한, 툴 셋 업데이트 판단기(210)는 선택되는 부호화 방식 중에 부호화 비용이 기 설정된 비용 임계값보다 크게 기준 회수 이상으로 선택되는 부호화 방식이 있는 경우, 부호화 툴 셋을 업데이트하는 것으로 결정할 수 있다. 즉, 툴 셋 업데 이트 판단기(210)는 부호화 단위의 영상이 부호화될 때마다 선택된 부호화 방식에 따른 부호화 비용을 계산하고 계산된 부호화 비용이 기 설정된 비용 임계값보다 큰지 여부를 확인하고 빈도수 메모리(170)에 저장된 선택 빈도수를 확인하여 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중에서 부호화 비용이 기 설정된 비용 임계값보다 큰 부호화 방식이 기 설정된 기준 회수 이상으로 선택된 경우, 부호화 툴 셋을 업데이트하는 것으로 결정할 수 있다. 즉, 복수 개의 부호화 방식 중 어느 한 부호화 방식 선택되었다고 해도 부호화 비용이 크면 부호화 툴 셋 내의 부호화 방식이 효율적이지 못하다는 것을 의미할 수 있으므로 부호화 툴 셋을 효율적으로 관리하기 위해 부호화 툴 셋의 업데이트하는 것으로 결정할 수 있는 것이다.In addition, the tool set
이때, 복수 개의 부호화 방식 중에서 그 종류에 상관없이 부호화 비용이 기 설정된 비용 임계값보다 큰 부호화 방식이 기준 회수 이상으로 선택된 경우에는 부호화 툴 셋을 업데이트하는 것으로 결정할 수도 있지만, 복수 개의 부호화 방식 중에서 특정한 부호화 방식이 전술한 경우에 해당되는 경우에만 부호화 툴 셋을 업데이트하는 것으로 결정할 수도 있다. 여기서, 특정한 부호화 방식은 도 3에서 예시한 제 1 부호화 방식을 제외한 제 2 부호화 방식 내지 제 3 부호화 방식과 같이 예측 잔여에 대해 공간 영역에서 부호화하는 방식이나 추가 예측 잔여에 대해 부호화하는 방식일 수 있다.In this case, when an encoding method having a coding cost greater than a predetermined cost threshold is selected from the plurality of encoding methods, the encoding tool set may be updated. It may be determined that the encoding tool set is updated only when the method corresponds to the case described above. Here, the specific encoding method may be a method of encoding the prediction residual in the spatial domain or a method of encoding the additional prediction residual, like the second to third encoding methods except for the first encoding method illustrated in FIG. 3. .
추가 부호화 방식 선택기(220)는 기 설정된 이용 가능한 부호화 방식 중에서 부호화 툴 셋에 포함되는 부호화 방식 이외의 나머지 부호화 방식에 따라 부호화 툴 셋의 업데이트가 결정된 후 부호화할 부호화 단위의 영상을 부호화할 때의 부호 화 비용이 최소가 되는 부호화 방식을 선택한다. 즉, 추가 부호화 방식 선택기(220)는 툴 셋 업데이트 판단기(210)에 의해 부호화 툴 셋을 업데이트하는 것으로 결정되는 경우, 복수 개의 영상 부호화기로 하여금 영상 부호화 장치에 미리 설정되어 있는 이용 가능한 다양한 부호화 방식 중에서 부호화 툴 셋에 포함되는 복수 개의 부호화 방식을 제외한 나머지 부호화 방식 각각에 따라 이후에 부호화할 부호화 단위의 영상에 대해 부호화하도록 제어하고, 영상을 부호화하는 데 소요되는 부호화 비용을 계산하여 계산된 부호화 비용이 최소가 되는 부호화 방식을 부호화 툴 셋에 추가로 포함시킬 부호화 방식으로서 선택한다. 여기서, 부호화 비용은 율-왜곡 비용이 될 수 있지만 다른 다양한 부호화 비용이 이용될 수 있다.The additional
툴 셋 업데이트기(230)는 선택되는 부호화 비용이 최소가 되는 부호화 방식을 부호화 툴 셋에 추가하고, 부호화 툴 셋 내의 복수 개의 부호화 방식 중에 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거하여 부호화 툴 셋을 업데이트한다. 즉, 툴 셋 업데이트기(230)는 추가 부호화 방식 선택기(220)에 의해 선택되는 부호화 방식을 저장된 부호화 툴 셋에 추가하고, 빈도수 메모리(170)에 저장된 선택 빈도수를 분석하여 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거함으로써 부호화 툴 셋을 업데이트한다. 여기서, 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거하는 이유는 부호화 효율이 가장 낮은 것으로 판단될 수 있기 때문이다. 다만, 툴 셋 업데이트기(230)는 부호화 툴 셋에 부호화 방식만을 추가하여 부호화 툴 셋을 업데이트할 수도 있고 부호화 툴 셋에서 선택 빈도수가 가장 작은 부호화 방식만을 제거하여 부호화 툴 셋을 업데이 트할 수도 있다. 이와 같이 업데이트된 부호화 툴 셋은 다음 부호화 단위의 영상을 부호화할 때 이용된다.The tool set
또한, 툴 셋 업데이트기(230)는 부호화 툴 셋을 업데이트한 후, 빈도수 메모리(170)에 저장된 선택 빈도수를 초기화할 수 있다. 즉, 툴 셋 업데이트기(230)는 업데이트된 부호화 툴 셋이 효율적인 상태로 유지될 수 있도록 부호화 툴 셋을 업데이트한 후 빈도수 메모리(170)에 저장된 선택 빈도수를 초기화하여, 업데이트된 부호화 툴 셋으로 다음 부호화 단위의 영상을 부호화할 때 선택 빈도수가 처음부터 누적되도록 함으로써, 해당 부호화 툴 셋에 대한 최적의 상태를 유지할 수 있도록 한다.Also, the tool set
업데이트 정보 부호화기(240)는 부호화 툴 셋에 추가되는 부호화 방식을 식별하는 추가 정보를 포함하는 업데이트 정보를 부호화한다. 즉, 업데이트 정보 부호화기(240)는 추가 부호화 방식 선택기(220)에 의해 선택되어 업데이트된 부호화 툴 셋에 추가된 부호화 방식을 후술할 영상 복호화 장치에서 식별할 수 있도록, 추가된 부호화 방식을 식별하는 추가 정보를 포함하는 업데이트 정보를 부호화한다. 여기서, 추가 정보는 도 3에 예를 들어 도시한 바와 같이 추가된 부호화 방식의 부호화 방식 인덱스일 수 있다. 또한, 추가 정보를 부호화하는 기법으로서는 고정 길이 부호화(Fixed Length Coding), 가변 길이 부호화(Variable Length Coding), 산술 부호화(Arithmetic Coding) 등과 같은 엔트로피 부호화(Entropy Coding) 기법이 이용될 수 있는데, 엔트로피 부호화 기법에 따른 코드는 주파수 영역으로 변환된 변환 계수 또는 공간 영역의 화소에 대해 별도로 결정되는 확률에 기반하여 미리 결정될 수 있다.The
이하에서는 도 4 내지 도 6을 통해 부호화 툴 셋의 업데이트 여부를 결정하여 업데이트하는 과정에 대해 예를 들어 설명한다.Hereinafter, a process of determining and updating the encoding tool set by using FIG. 4 to FIG. 6 will be described as an example.
도 4는 본 발명의 일 실시예에 따른 부호화 툴 셋을 나타낸 예시도이다.4 is an exemplary diagram illustrating a coding tool set according to an embodiment of the present invention.
예를 들어, 영상 부호화 장치(100)에서 이용 가능한 부호화 방식이 도 3에 예를 들어 도시한 바와 같이 설정되었다고 가정하면, 부호화 툴 셋 관리기(110)에 저장되는 초기의 부호화 툴 셋은 도 4에 도시한 바와 같이 설정될 수 있으며, 영상 부호화 장치(100)가 부호화 단위의 영상을 부호화할 때마다 부호화 툴 셋 관리기(110)는 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트하기로 결정한 경우에는 도 4에 도시한 바와 같이 제 1 업데이트된 부호화 툴 셋, 제 2 업데이트된 부호화 툴 셋과 같이 다양한 방식으로 부호화 툴 셋을 업데이트할 수 있다.For example, assuming that the encoding scheme available in the
도 4를 참조하면, 초기의 부호화 툴 셋은 제 1 부호화 방식과 제 2 부호화 방식을 포함하고 있지만, 툴 셋 업데이트 판단기(210)에서 부호화 단위의 영상을 부호화할 때마다 업데이트 여부를 판단하여 업데이트하기로 결정하면, 추가 부호화 방식 선택기(220)에서 앞으로 부호화할 부호화 단위의 영상의 부호화 비용을 기초로 제 3 부호화 방식을 선택하여, 툴 셋 업데이트기(230)가 초기의 부호화 툴 셋으로부터 선택 빈도수를 기초로 제 2 부호화 방식을 제거하고 추가하기로 선택된 제 3 부호화 방식을 추가하여 제 1 업데이트된 부호화 툴 셋이 구성되어 제 1 업데이트된 부호화 툴 셋은 제 1 부호화 방식과 제 3 부호화 방식을 포함하여 구성될 수 있다. 이와 유사한 방식으로 제 1 부호화 방식과 제 4 부호화 방식을 포함하는 제 2 업데이트된 부호화 툴 셋이 구성될 수 있다.Referring to FIG. 4, although the initial encoding tool set includes a first encoding scheme and a second encoding scheme, whenever the tool set
도 5 및 도 6은 본 발명의 일 실시예에 따라 부호화 툴 셋의 업데이트 여부를 결정하고 업데이트하는 과정을 설명하기 위한 예시도이다.5 and 6 are exemplary diagrams for describing a process of determining whether to update an encoding tool set and updating according to an embodiment of the present invention.
도 5 및 도 6에서는 도 4에 도시한 바와 같이 초기의 부호화 툴 셋이 구성된 경우, 부호화 단위의 영상을 부호화할 때마다 선택되는 부호화 방식의 선택 빈도수와 선택된 부호화 방식에 따른 부호화 비용을 이용하여 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트하는 예를 나타내었다.In FIGS. 5 and 6, when an initial encoding tool set is configured as illustrated in FIG. 4, encoding is performed by using a selection frequency of an encoding method selected each time an image of a coding unit is encoded and an encoding cost according to the selected encoding method. An example of updating the encoding tool set by determining whether to update the tool set is illustrated.
도 5 및 도 6에서는 영상 부호화 장치(100)가 동영상을 구성하는 제 1 픽처 내지 제 n 픽처 등의 일련의 픽처를 부호화할 때 소정의 부호화 단위로서 블록 단위로 부호화하며, 각 픽처는 16 개의 블록으로 구성되는 것으로 가정하였다. 다만, 이는 예시적인 것일 뿐 부호화 단위는 블록이 아닌 슬라이스, 픽처, 시퀀스 등과 같은 정형적인 영역이나 이와는 다른 비정형적 영역이 될 수도 있다. 또한, 각 픽처가 16 개의 블록으로 구성되는 것도 예시적인 것일 뿐 각 픽처는 32 개, 64 개, 128 개 등 다양한 개수의 블록으로 구성될 수도 있다.In FIGS. 5 and 6, when the
도 5 및 도 6에서, 각 블록 내에 표시된 숫자는 해당 블록을 부호화할 때 선택된 부호화 방식을 나타내는 부호화 방식 인덱스를 나타낸다. 따라서, '1'은 제 1 부호화 방식을 나타내고, '2'는 제 2 부호화 방식을 나타내며, '3'은 제 3 부호화 방식을 나타내며, '4'는 제 4 부호화 방식을 나타낸다.5 and 6, numerals indicated in each block represent an encoding scheme index indicating a coding scheme selected when the corresponding block is encoded. Accordingly, '1' represents the first coding scheme, '2' represents the second coding scheme, '3' represents the third coding scheme, and '4' represents the fourth coding scheme.
도 5를 참조하면, 제 1 부호화 방식과 제 2 부호화 방식을 포함하는 초기의 부호화 툴 셋을 이용하여 각 블록을 부호화는 과정에서, 부호화 방식 선택기(160)는 각 블록에 대해 선택된 부호화 방식의 누적 빈도수를 빈도수 메모리(170)에 저장하는데, 툴 셋 업데이트 판단기(210)는 각 블록이 부호화될 때마다 빈도수 메모리(170)에 저장된 선택 빈도수를 확인하여 업데이트 여부를 결정한다.Referring to FIG. 5, in the process of encoding each block by using an initial encoding tool set including a first encoding scheme and a second encoding scheme, the
만약, 연속 회수가 6 회로 설정되어 있다고 가정하면, 제 1 픽처의 모든 블록이 부호화될 때까지는 부호화 툴 셋 내의 부호화 방식들 중 연속해서 6 회로 선택되는 부호화 방식이 발생하지 않다가 제 1 픽처의 마지막 블록에서 비로소 제 1 부호화 방식이 6 회로 연속해서 선택되었으므로, 툴 셋 업데이트 판단기(210)는 제 2 픽처의 첫 번째 블록을 부호화하기 전에 초기의 부호화 툴 셋을 업데이트하는 것으로 결정한다.If it is assumed that the number of consecutive times is set to six times, the coding scheme in which six coding sequences are continuously selected from among the coding schemes in the encoding tool set does not occur until all blocks of the first picture are encoded. Since the first encoding scheme has been selected six times in succession in the block, the tool set
이 경우, 추가 부호화 방식 선택기(220)는 이용 가능한 부호화 방식인 제 1 부호화 방식 내지 제 4 부호화 방식 중 초기의 부호화 툴 셋에 포함되는 제 1 부호화 방식 및 제 2 부호화 방식을 제외한 나머지 부호화 방식인 제 3 부호화 방식과 제 4 부호화 방식 각각에 따라 앞으로 부호화할 제 2 픽처의 첫 번째 블록을 부호화하는 데 소요되는 부호화 비용을 계산하여 부호화 비용이 가장 작은 부호화 방식을 추가할 부호화 방식으로 선택한다. 도 5에서는 제 3 부호화 방식이 추가할 부호화 방식으로 선택된 것으로 가정하였다.In this case, the additional
이후, 툴 셋 업데이트기(230)는 초기의 부호화 툴 셋을 업데이트하는데, 우선 초기의 부호화 툴 셋 내의 부호화 방식 중 선택 빈도수가 가장 작은 제 2 부호화 방식을 초기의 부호화 툴 셋으로부터 제거하고, 추가 부호화 방식 선택기(220) 에 의해 선택된 제 3 부호화 방식을 초기의 부호화 툴 셋에 추가하여 제 1 업데이트된 부호화 툴 셋을 구성한다.Thereafter, the tool set
또한, 업데이트 정보 부호화기(240)는 추가 부호화 방식 선택기(220)에 의해 선택된 제 3 부호화 방식을 식별하기 위한 정보로서 제 3 부호화 방식의 부호화 방식 인덱스 3을 부호화하여 업데이트 데이터를 생성한다. 이와 같이 생성되는 업데이트 데이터는 비트스트림에 포함된다.The
이후, 제 2 픽처의 첫 번째 블록부터는 다시 부호화 툴 셋이 업데이트될 때까지 제 1 부호화 방식과 제 3 부호화 방식을 포함하는 제 1 업데이트된 부호화 툴 셋을 이용하여 부호화된다.Subsequently, the first block of the second picture is encoded using the first updated encoding tool set including the first encoding scheme and the third encoding scheme until the encoding tool set is updated again.
도 6을 참조하면, 제 1 부호화 방식과 제 2 부호화 방식을 포함하는 초기의 부호화 툴 셋을 이용하여 각 블록을 부호화는 과정에서, 부호화 방식 선택기(160)는 각 블록에 대해 선택된 부호화 방식의 누적 빈도수를 빈도수 메모리(170)에 저장하는데, 툴 셋 업데이트 판단기(210)는 각 블록이 부호화될 때마다 빈도수 메모리(170)에 저장된 선택 빈도수를 확인하고 각 블록이 부호화될 때 선택되는 부호화 방식에 따른 부호화 비용을 계산하여 업데이트 여부를 결정한다.Referring to FIG. 6, in the process of encoding each block by using an initial encoding tool set including a first encoding scheme and a second encoding scheme, the
만약, 기준 회수가 4 회로 설정되어 있고, 도 6에서 빗금친 블록에 대한 부호화 비용이 기 설정된 비용 임계값 이상이었다고 가정하면, 제 1 픽처의 모든 블록이 부호화될 때까지는 부호화 툴 셋 내의 부호화 방식들 중 부호화 비용이 비용 임계값보다 크게 4 회로 선택되는 부호화 방식이 발생하지 않다가 제 1 픽처의 마지막 블록에서 비로소 제 2 부호화 방식이 부호화 비용이 비용 임계값보다 크게 4 회로 선택되었으므로, 툴 셋 업데이트 판단기(210)는 제 2 픽처의 첫 번째 블록을 부호화하기 전에 초기의 부호화 툴 셋을 업데이트하는 것으로 결정한다.If the reference number is set four times, and the encoding cost for the block blocked in FIG. 6 is greater than or equal to a preset cost threshold, the encoding schemes in the encoding toolset until all blocks of the first picture are encoded. Since the coding scheme in which the coding cost is selected four times larger than the cost threshold does not occur, but the second coding scheme is selected four times in the last block of the first picture because the coding cost is larger than the cost threshold, the tool set update is determined. The
이 경우, 추가 부호화 방식 선택기(220)는 이용 가능한 부호화 방식인 제 1 부호화 방식 내지 제 4 부호화 방식 중 초기의 부호화 툴 셋에 포함되는 제 1 부호화 방식 및 제 2 부호화 방식을 제외한 나머지 부호화 방식인 제 3 부호화 방식과 제 4 부호화 방식 각각에 따라 앞으로 부호화할 제 2 픽처의 첫 번째 블록을 부호화하는 데 소요되는 부호화 비용을 계산하여 부호화 비용이 가장 작은 부호화 방식을 추가할 부호화 방식으로 선택한다. 도 6에서는 제 4 부호화 방식이 추가할 부호화 방식으로 선택된 것으로 가정하였다.In this case, the additional
이후, 툴 셋 업데이트기(230)는 초기의 부호화 툴 셋을 업데이트하는데, 우선 초기의 부호화 툴 셋 내의 부호화 방식 중 선택 빈도수가 가장 작은 제 2 부호화 방식을 초기의 부호화 툴 셋으로부터 제거하고, 추가 부호화 방식 선택기(220)에 의해 선택된 제 4 부호화 방식을 초기의 부호화 툴 셋에 추가하여 제 1 업데이트된 부호화 툴 셋을 구성한다.Thereafter, the tool set
또한, 업데이트 정보 부호화기(240)는 추가 부호화 방식 선택기(220)에 의해 선택된 제 4 부호화 방식을 식별하기 위한 정보로서 제 4 부호화 방식의 부호화 방식 인덱스 4를 부호화하여 업데이트 데이터를 생성한다. 이와 같이 생성되는 업데이트 데이터는 비트스트림에 포함된다.The
이후, 제 2 픽처의 첫 번째 블록부터는 다시 부호화 툴 셋이 업데이트될 때까지 제 1 부호화 방식과 제 4 부호화 방식을 포함하는 제 2 업데이트된 부호화 툴 셋을 이용하여 부호화된다.Subsequently, the first block of the second picture is encoded using the second updated encoding tool set including the first encoding method and the fourth encoding method until the encoding tool set is updated again.
도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 부호화 방법에 따르면, 영상 부호화 장치(100)는 부호화 툴 셋에 포함되는 복수 개의 부호화 방식에 따라 부호화 단위의 영상을 부호화하고(S710), 부호화 단위마다 복수 개의 부호화 방식 중 하나의 부호화 방식을 선택하고 선택되는 부호화 방식에 따라 부호화된 영상 데이터를 출력하며(S720), 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하며(S730), 부호화 방식의 선택 빈도수 및 선택되는 부호화 방식에 따른 부호화 비용 중 하나 이상을 기초로 부호화 툴 셋의 업데이트 여부를 결정하여 부호화 툴 셋을 업데이트한다(S740).According to an image encoding method according to an embodiment of the present invention, the
단계 S740에서, 영상 부호화 장치(100)는 복수 개의 부호화 방식 중 어느 하나의 부호화 방식이 기 설정된 연속 회수로 연속해서 선택되는 경우, 부호화 툴 셋을 업데이트하거나, 선택되는 부호화 방식 중에 부호화 비용이 기 설정된 비용 임계값보다 크게 기준 회수 이상으로 선택되는 부호화 방식이 있는 경우, 부호화 툴 셋을 업데이트할 수 있다.In operation S740, when any one of a plurality of encoding schemes is continuously selected for a predetermined number of consecutive times, the
또한, 단계 S740에서, 영상 부호화 장치(100)는 기 설정된 이용 가능한 부호화 방식 중에서 부호화 툴 셋에 포함되는 부호화 방식 이외의 나머지 부호화 방식에 따라 부호화 툴 셋의 업데이트가 결정된 후 부호화할 부호화 단위의 영상을 부호화할 때의 부호화 비용이 최소가 되는 부호화 방식을 부호화 툴 셋에 추가하여 부호화 툴 셋을 업데이트할 수 있다.In operation S740, the
또한, 단계 S740에서, 영상 부호화 장치(100)는 부호화 툴 셋 내의 복수 개의 부호화 방식 중에 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거하여 부호화 툴 셋을 업데이트할 수 있다.In operation S740, the
이뿐만 아니라, 영상 부호화 장치(100)는 부호화 툴 셋을 업데이트한 후, 선택 빈도수를 초기화할 수 있으며, 부호화 툴 셋을 업데이트할 때마다 업데이트된 부호화 툴 셋에 추가된 부호화 방식을 식별하는 추가 정보를 포함하는 업데이트 정보를 부호화할 수 있다.In addition, the
또한, 영상 부호화 장치(100)는 부호화 단위마다 선택되는 부호화 방식을 나타내는 부호화 방식 인덱스를 추가로 부호화할 수 있는데, 부호화 방식 인덱스가 부호화되어 생성되는 부호화 방식 인덱스 데이터의 비트수는 부호화 툴 셋에 포함되는 부호화 방식의 개수에 의해 결정될 수 있다.The
도 8은 본 발명의 일 실시예에 따라 부호화 툴 셋을 업데이트할지 여부를 결정하는 방법의 구현 예를 설명하기 위한 순서도이다.8 is a flowchart illustrating an example of a method of determining whether to update an encoding tool set according to an embodiment of the present invention.
도 7에 도시한 단계 S740에서 영상 부호화 장치(100)가 부호화 툴 셋을 업데이트할지 여부룰 결정할 때, 도 8에 예를 들어 도시한 바와 같은 순서로 결정할 수 있다.When the
즉, 영상 부호화 장치(100)는 도 3에서 예시한 제 1 부호화 방식이 기 설정된 연속 회수로 연속해서 선택되는지 여부를 판단하여(S810), 제 1 부호화 방식이 기 설정된 연속 회수로 연속해서 선택되지 않은 경우, 부호화 비용이 임계값보다 크게 기준 회수 이상으로 선택된 부호화 방식이 있는지 여부를 판단하여(S820), 부호화 비용이 임계값보다 크게 기준 회수 이상으로 선택된 부호화 방식이 없는 경우에는 부호화 툴 셋을 유지한다(S830). 하지만, 단계 S810에서 판단한 결과, 제 1 부호화 방식이 기 설정된 연속 회수로 연속해서 선택된 경우 또는 단계 S820에서 판단한 결과, 부호화 비용이 임계값보다 크게 기준 회수 이상으로 선택된 부호화 방식이 있는 경우에는 선택 빈도수가 가장 작은 부호화 비용을 부호화 툴 셋에서 제거하고(S840), 부호화 툴 셋 이외의 다른 부호화 방식 중에서 부호화 비용이 최소인 부호화 방식을 부호화 툴 셋에 추가함으로써(S850), 부호화 툴 셋을 업데이트할 수 있다.That is, the
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.9 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 복호화 장치(900)는 부호화 툴 셋 관리기(910), 빈도수 메모리(920), 복수 개의 영상 복호화기를 포함하여 구성될 수 있다.The
부호화 툴 셋 관리기(910)는 비트스트림으로부터 추출되는 부호화 방식 인덱스 데이터 및 업데이트 데이터를 복호화하여 부호화 방식 인덱스 및 업데이트 정보를 복원하고, 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식을 선택하며, 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 복원되는 부호화 단위의 영상을 출력하며, 선택 빈도수 및 복원되는 업데이트 정보를 기초로 부호화 툴 셋을 업데이트한다. 또한, 부호화 툴 셋 관리기(910)는 부호화 단위마다 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식의 발생 빈도수를 누적하여 빈도수 메모리(920)에 저장한다. 부호화 툴 셋 관리기(910)에 대해서는 후술하는 과정에서 도 10을 통해 상세히 설명한다.The encoding tool set
빈도수 메모리(920)는 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장한다. 즉, 빈도수 메모리(920)는 부호화 툴 셋 관리기(910)로부터 전달되는 선택 빈도수를 저장한다.The
복수 개의 영상 복호화기는 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 비트스트림으로부터 추출되는 영상 부호화 데이터를 복호화하여 부호화 단위의 영상을 복원한다. 이러한 복수 개의 영상 복호화기는 영상 복호화 장치(900)에 이용 가능한 부호화 방식의 개수로 구성될 수 있다. 예를 들어, 도 3을 통해 전술한 바와 같이 이용 가능한 부호화 방식이 제 1 부호화 방식 내지 제 4 부호화 방식인 경우, 도 9에 도시한 제 1 영상 복호화기(930) 내지 제 4 영상 복호화기(960)는 각각 제 1 부호화 방식 내지 제 4 부호화 방식에 대응하는 영상 복호화 방식에 따라 영상을 복호화하는 복호화기가 될 수 있다.The plurality of image decoders reconstruct an image of a coding unit by decoding image encoded data extracted from a bitstream according to a decoding scheme corresponding to a selected encoding scheme. The plurality of image decoders may be configured with the number of encoding schemes available to the
이 경우, 제 1 영상 복호화기(930)는 복호화기(Decoder), 역 양자화기 및 역 변환기, 예측기, 가산기, 디블로킹 필터, 메모리 등을 포함하여 구성될 수 있다. 여기서, 복호화기는 비트스트림으로부터 추출되는 영상 부호화 데이터를 복호화하여 양자화된 변환 계수를 복원하고, 역 양자화기 및 역 변환기는 복원되는 양자화된 변환 계수를 역 양자화 및 역 변환하여 잔여 블록을 복원하며, 예측기는 인터 예측 또는 인트라 예측을 통해 현재 블록을 예측하여 예측 블록을 생성하며, 가산 기는 복원되는 잔여 블록과 예측 블록을 가산하여 현재 블록을 복원할 수 있다. 복원되는 현재 블록은 디블로킹 필터에 의해 디블로킹 필터링되고 픽처 단위로 누적되어 복원 영상으로서 출력되거나 메모리에 저장되어 예측기가 다음 블록 또는 다음 픽처를 예측하는데 활용된다.In this case, the
또한, 제 2 영상 부호화기(940)는 예측 잔여를 공간 영역에서 부호화하는 부호화 방식에 대응하는 복호화 방식으로 영상 부호화 데이터를 복호화하므로, 제 1 영상 부호화기(930)의 구성에서 역 변환기를 제외한 모든 구성을 포함하여 구성될 수 있는데, 복호화기는 영상 부호화 데이터를 복호화하여 양자화된 신호를 복원한다. 제 3 영상 복호화기(950)는 추가 예측 잔여에 대해 주파수 영역에서 부호화하는 부호화 방식에 대응하는 복호화 방식에 따라 영상 부호화 데이터를 복호화하므로, 제 1 영상 복호화기(930)의 구성에서 역 변환기와 가산기 사이에 추가 예측을 위한 예측기를 추가로 포함하여 구성될 수 있다. 제 4 영상 복호화기(960)는 추가 예측 잔여에 대해 공간 영역에서 부호화하므로, 제 3 영상 복호화기(950)의 모든 구성에서 역 변환기를 제외한 모든 구성을 포함하여 구성될 수 있다.In addition, since the
다만, 도 9에서는 복수 개의 영상 복호화기가 제 1 영상 복호화기(First Video Decoder, 930) 내지 제 4 영상 복호화기(Fourth Video Decoder, 960)로 구성되는 것으로 도시하였지만, 이는 예시적인 것을 뿐 복수 개의 영상 복호화기는 이용 가능한 부호화 방식의 개수 이상의 영상 복호화기로 구성될 수 있다.In FIG. 9, the plurality of video decoders are configured as a
도 10은 본 발명의 일 실시예에 따른 영상 복호화를 위한 부호화 툴 셋 관리기를 간략하게 나타낸 블록 구성도이다.10 is a block diagram schematically illustrating an encoding tool set manager for image decoding according to an embodiment of the present invention.
영상 복호화를 위한 부호화 툴 셋 관리기(910)는 정보 복호화기(Information Decoder, 1010), 부호화 방식 선택기(1020) 및 툴 셋 업데이트기(1030)를 포함하여 구성될 수 있다.The encoding tool set
정보 복호화기(1010)는 비트스트림으로부터 부호화 방식 인덱스 데이터 및 업데이트 데이터를 추출하고 복호화하여 부호화 방식 인덱스 및 업데이트 정보를 복원한다.The information decoder 1010 extracts and decodes encoding scheme index data and update data from the bitstream to restore the encoding scheme index and update information.
부호화 방식 선택기(1020)는 부호화 툴 셋에 포함되는 복수 개의 부호화 방식 중 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식을 선택하고, 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 복원되는 부호화 단위의 영상을 출력한다. 또한, 부호화 방식 선택기(1020)는 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 누적하여 빈도수 메모리(920)에 저장한다. 예를 들어, 도 3의 예시와 같이 부호화 툴 셋에 제 1 부호화 방식과 제 2 부호화 방식이 포함되고, 정보 복호화기(1010)에 의해 복원되는 부호화 방식 인덱스가 제 2 부호화 방식을 나타내는 경우, 부호화 방식 선택기(1020)는 제 2 부호화 방식을 복호화하고자 하는 부호화 단위의 영상에 대한 부호화 방식으로서 선택하고, 제 2 부호화 방식에 대응하는 복호화 방식에 따라 영상 복호화 데이터를 복호화하는 제 2 영상 복호화기(940)에 의해 복원되는 부호화 단위의 영상을 출력할 수 있다.The encoding method selector 1020 selects an encoding method identified by an encoding method index reconstructed from among a plurality of encoding methods included in the encoding tool set, and reconstructs an image of a coding unit reconstructed according to a decoding method corresponding to the selected encoding method. Outputs In addition, the encoding method selector 1020 accumulates and stores the selection frequency of the encoding method selected for each coding unit in the
부호화 툴 셋 관리기(1030)는 선택 빈도수 및 복원되는 업데이트 정보를 기초로 부호화 툴 셋을 업데이트한다. 이를 위해, 부호화 툴 셋 관리기(1030)는 복원되는 업데이트 정보에 포함되는 추가 정보에 의해 식별되는 부호화 방식을 부호화 툴 셋에 추가함으로써, 부호화 툴 셋을 업데이트할 수 있다. 또한, 부호화 툴 셋 관리기(1030)는 복수 개의 부호화 방식 중에서 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거하여 부호화 툴 셋을 업데이트할 수 있다. 예를 들어, 업데이트 정보에 포함되는 추가 정보에 의해 식별되는 부호화 방식이 제 3 부호화 방식이라면 부호화 툴 셋에 제 3 부호화 방식을 추가할 수 있으며, 이때 빈도수 메모리(920)에 저장된 선택 빈도수를 확인한 결과 부호화 툴 셋에 포함된 제 1 부호화 방식 및 제 2 부호화 방식 중에서 제 2 부호화 방식의 선택 빈도수가 가장 작다면 제 2 부호화 방식을 부호화 툴 셋으로부터 제거할 수 있다.The encoding tool set manager 1030 updates the encoding tool set based on the selection frequency and the restored update information. To this end, the encoding tool set manager 1030 may update the encoding tool set by adding the encoding scheme identified by the additional information included in the reconstructed update information to the encoding tool set. In addition, the encoding tool set manager 1030 may update the encoding tool set by removing the encoding method having the smallest selection frequency among the plurality of encoding methods from the encoding tool set. For example, if the encoding scheme identified by the additional information included in the update information is the third encoding scheme, the third encoding scheme may be added to the encoding tool set. As a result of checking the selection frequency stored in the
또한, 부호화 툴 셋 관리기(1030)는 부호화 툴 셋을 업데이트한 후, 빈도수 메모리(920)에 저장된 선택 빈도수를 초기화할 수 있다. 즉, 부호화 툴 셋 관리기(1030)는 부호화 툴 셋이 업데이트되면, 선택 빈도수를 초기화하여 부호화 툴 셋이 효율적인 상태로 관리되도록 할 수 있다.In addition, after updating the encoding tool set, the encoding tool set manager 1030 may initialize the selection frequency stored in the
또한, 부호화 툴 셋 관리기(1030)는 비트스트림으로부터 업데이트 데이터가 추출되면 부호화 툴 셋이 업데이트되었음 식별할 수 있으며, 업데이트 데이터가 추출된 시점의 부호화 단위의 영상을 부호화기 전에 부호화 툴 셋을 업데이트한다.In addition, when the update data is extracted from the bitstream, the encoding tool set manager 1030 may identify that the encoding tool set has been updated, and updates the encoding tool set before encoding the image of the coding unit at the time point at which the update data is extracted.
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.11 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 복호화 방법에 따르면, 영상 복호화 장치(900)는 비트스트림으로부터 추출되는 부호화 방식 인덱스 데이터 및 업데이트 데이터를 복호화하여 부호화 방식 인덱스 및 업데이트 정보를 복원하고(S1110), 부 호화 툴 셋에 포함되는 복수 개의 부호화 방식 중 복원되는 부호화 방식 인덱스에 의해 식별되는 부호화 방식을 선택하고 선택되는 부호화 방식에 대응되는 복호화 방식에 따라 비트스트림으로부터 추출되는 영상 부호화 데이터를 복호화하여 부호화 단위의 영상을 복원하며(S1120), 부호화 단위마다 선택되는 부호화 방식의 선택 빈도수를 저장하며(S1130), 선택 빈도수 및 복원되는 업데이트 정보를 기초로 부호화 툴 셋을 업데이트한다(S1140).According to an image decoding method according to an embodiment of the present invention, the
단계 S1140에서, 영상 복호화 장치(900)는 복원되는 업데이트 정보에 포함되는 추가 정보에 의해 식별되는 부호화 방식을 부호화 툴 셋에 추가하여 부호화 툴 셋을 업데이트하거나, 복수 개의 부호화 방식 중에서 선택 빈도수가 가장 작은 부호화 방식을 부호화 툴 셋으로부터 제거하여 부호화 툴 셋을 업데이트할 수 있다.In operation S1140, the
또한, 영상 복호화 장치(900)는 부호화 툴 셋을 업데이트한 후, 선택 빈도수를 초기화할 수 있다.In addition, the
이상에서 전술한 바와 같이, 본 발명의 일 실시예에 따르면, 영상을 부호화할 때 소정의 부호화 단위마다 다양한 부호화 방식 중 효율이 좋은 부호화 방식을 선택하여 부호화하면서도 효율이 좋은 부호화 방식을 선택하기 위한 연산량이나 장치의 구현 복잡도를 줄일 수 있을 뿐만 아니라 선택되는 부호화 방식을 나타내기 위한 추가 정보를 부호화하는 데 소요되는 비트량을 줄일 수 있으므로, 압축 효율을 향상시키고 장치의 구현을 간소화할 수 있다.As described above, according to an embodiment of the present invention, when encoding an image, an amount of calculation for selecting an efficient encoding method while selecting and encoding an efficient encoding method among various encoding methods for each predetermined coding unit In addition, the implementation complexity of the device can be reduced, as well as the amount of bits required to encode additional information for indicating the selected encoding scheme can be reduced, thereby improving compression efficiency and simplifying the implementation of the device.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.In the above description, all elements constituting the embodiments of the present invention are described as being combined or operating in combination, but the present invention is not necessarily limited to the embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more. In addition, although all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art. Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention. The storage medium of the computer program may include a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.
이상에서 설명한 바와 같이 본 발명은 영상을 부호화하고 복호화하는 영상 압축 처리 분야에 적용되어, 영상을 부호화할 때 효율이 좋은 부호화 방식을 선택하여 부호화하면서도 효율이 좋은 부호화 방식을 선택하기 위한 연산량이나 장치의 구현 복잡도를 줄일 수 있을 뿐만 아니라 선택되는 부호화 방식을 나타내기 위한 추가 정보를 부호화하는 데 소요되는 비트량을 줄일 수 있으므로, 압축 효율을 향상시키고 장치의 구현을 간소화할 수 있는 효과를 발생하는 매우 유용한 발명이다.As described above, the present invention is applied to the field of image compression processing for encoding and decoding an image, so that an amount of computation or an apparatus for selecting an efficient encoding scheme while selecting and encoding an efficient encoding scheme may be used. In addition to reducing implementation complexity, the amount of bits required to encode additional information to represent the chosen encoding scheme can be reduced, which is very useful for improving the compression efficiency and generating the effect of simplifying the implementation of the device. Invention.
도 1은 본 발명의 일 실시예에 따른 영상 부호화 장치를 간략하게 나타낸 블록 구성도,1 is a block diagram schematically illustrating a video encoding apparatus according to an embodiment of the present invention;
도 2는 본 발명의 일 실시예에 따른 영상 부호화를 위한 부호화 툴 셋 관리기를 간략하게 나타낸 블록 구성도,2 is a block diagram schematically illustrating an encoding tool set manager for image encoding according to an embodiment of the present invention;
도 3은 본 발명의 일 실시예에 따른 이용 가능한 부호화 방식을 나타낸 예시도,3 is an exemplary diagram showing an available coding scheme according to an embodiment of the present invention;
도 4는 본 발명의 일 실시예에 따른 부호화 툴 셋을 나타낸 예시도,4 illustrates an encoding tool set according to an embodiment of the present invention.
도 5 및 도 6은 본 발명의 일 실시예에 따라 부호화 툴 셋의 업데이트 여부를 결정하고 업데이트하는 과정을 설명하기 위한 예시도,5 and 6 are exemplary diagrams for explaining a process of determining and updating a coding tool set according to an embodiment of the present invention;
도 7은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 순서도,7 is a flowchart illustrating a video encoding method according to an embodiment of the present invention;
도 8은 본 발명의 일 실시예에 따라 부호화 툴 셋을 업데이트할지 여부를 결정하는 방법의 구현 예를 설명하기 위한 순서도,8 is a flowchart illustrating an example of a method of determining whether to update an encoding tool set according to an embodiment of the present invention;
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치를 간략하게 나타낸 블록 구성도,9 is a block diagram schematically illustrating an image decoding apparatus according to an embodiment of the present invention;
도 10은 본 발명의 일 실시예에 따른 영상 복호화를 위한 부호화 툴 셋 관리기를 간략하게 나타낸 블록 구성도,10 is a block diagram schematically illustrating an encoding tool set manager for image decoding according to an embodiment of the present invention;
도 11은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 순서도이다.11 is a flowchart illustrating an image decoding method according to an embodiment of the present invention.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090106658A KR101658585B1 (en) | 2009-11-05 | 2009-11-05 | Video Coding Method and Apparatus by Using Tool Set |
PCT/KR2010/006739 WO2011055908A2 (en) | 2009-11-05 | 2010-10-01 | Method and apparatus for image encoding/decoding using a toolset |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090106658A KR101658585B1 (en) | 2009-11-05 | 2009-11-05 | Video Coding Method and Apparatus by Using Tool Set |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110049586A true KR20110049586A (en) | 2011-05-12 |
KR101658585B1 KR101658585B1 (en) | 2016-09-21 |
Family
ID=43970494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090106658A KR101658585B1 (en) | 2009-11-05 | 2009-11-05 | Video Coding Method and Apparatus by Using Tool Set |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101658585B1 (en) |
WO (1) | WO2011055908A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101442127B1 (en) * | 2011-06-21 | 2014-09-25 | 인텔렉추얼디스커버리 주식회사 | Apparatus and Method of Adaptive Quantization Parameter Encoding and Decoder based on Quad Tree Structure |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090108499A (en) * | 2008-04-11 | 2009-10-15 | 에스케이 텔레콤주식회사 | Method and Apparatus for Determining Intra Prediction Mode, and Method and Apparatus for Encoding/Decoding Video using Same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100846778B1 (en) * | 2002-07-16 | 2008-07-16 | 삼성전자주식회사 | Coding and decoding method and apparatus using plural scanning patterns |
KR20050053297A (en) * | 2003-12-02 | 2005-06-08 | 학교법인 성균관대학 | Method and apparatus of video encoding |
KR20050061762A (en) * | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | Method of encoding mode determination and motion estimation, and encoding apparatus |
KR100829169B1 (en) * | 2006-07-07 | 2008-05-13 | 주식회사 리버트론 | Apparatus and method for estimating compression modes for H.264 codings |
-
2009
- 2009-11-05 KR KR1020090106658A patent/KR101658585B1/en active IP Right Grant
-
2010
- 2010-10-01 WO PCT/KR2010/006739 patent/WO2011055908A2/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090108499A (en) * | 2008-04-11 | 2009-10-15 | 에스케이 텔레콤주식회사 | Method and Apparatus for Determining Intra Prediction Mode, and Method and Apparatus for Encoding/Decoding Video using Same |
Non-Patent Citations (3)
Title |
---|
A NEW FAST MODE DECISION ALGORITHM OF 4×4 BLOCK INTRA PREDICTION FOR H.264/AVC. IC-BNMT '09. 2nd IEEE International Conference on, 18-20 October 2009* * |
Adaptive prediction error coding in spatial and frequency domain for H.264/AVC. Video Coding Experts Group (VCEG), 16-20 January, 2006* * |
Overview of the H.264/AVC Video Coding Standard. IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, VOL. 13, NO.7. JULY 2003* * |
Also Published As
Publication number | Publication date |
---|---|
WO2011055908A3 (en) | 2011-07-14 |
WO2011055908A2 (en) | 2011-05-12 |
KR101658585B1 (en) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101997604B1 (en) | Method and Apparatus for Video Encoding/Decoding | |
KR101377660B1 (en) | Motion Vector Encoding/Decoding Method and Apparatus Using Multiple Motion Vector Estimation and Video Encoding/Decoding Method and Apparatus Using Same | |
KR101608426B1 (en) | Method for predictive intra coding/decoding for video and apparatus for same | |
KR101807170B1 (en) | Video Encoding/Decoding Method and Apparatus Based on Adaptive Second Prediction, and Recording Medium therefor | |
KR101353301B1 (en) | Method and Apparatus for Determining Intra Prediction Mode, and Method and Apparatus for Encoding/Decoding Video using Same | |
KR101681303B1 (en) | Method and Apparatus for Encoding/Decoding of Video Data Using Partitioned-Block Prediction | |
KR101567974B1 (en) | / / Block Mode Encoding/Decoding Method and Apparatus and Video Encoding/Decoding Method and Apparatus Using Same | |
KR20100113703A (en) | Prediction mode selection method and apparatus and video enoding/decoding method and apparatus using same | |
KR20110054592A (en) | Motion vector coding method and apparatus by using candidate predicted motion vector set selection and video coding method and apparatus using same | |
KR20130051384A (en) | Method and apparatus video encoding and decoding using skip mode | |
KR20110045908A (en) | Motion Vector Coding Method and Apparatus by Using Partitioning Space and Video Coding Method and Apparatus Using Same | |
KR101418104B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Combination and Video Coding Method and Apparatus Using Same | |
KR20130003718A (en) | Method and apparatus for image encoding/decoding by fast coding unit mode decision | |
KR20120025174A (en) | Method and apparatus for encoding/decoding of video data using efficient selection of intra prediction mode set | |
KR101763113B1 (en) | Video Encoding/Decoding Method and Apparatus for Noise Component in Spatial Domain | |
KR20120009693A (en) | Competition-Based Intra Prediction Coding/Decoding Apparatus and Method Using Multiple Prediction Filters | |
KR20120015495A (en) | Method and apparatus for encoding/decoding of video data capable of skipping filtering mode | |
KR20110045912A (en) | Adaptive Resolution Based Video Encoding/Decoding Method and Apparatus | |
KR101449683B1 (en) | Motion Vector Coding Method and Apparatus by Using Motion Vector Resolution Restriction and Video Coding Method and Apparatus Using Same | |
US9319710B2 (en) | Video encoding and decoding apparatus and method | |
KR20110023023A (en) | Motion vector coding method and apparatus for video coding and video coding method and apparatus using same | |
KR20100035243A (en) | Quantization parameter determination method and apparatus and video encoding/decoding method and apparatus | |
KR20100019088A (en) | Inter prediction apparatus and video encoding/decoding apparatus and method using same | |
KR20130023444A (en) | Apparatus and method for video encoding/decoding using multi-step inter prediction | |
KR101658585B1 (en) | Video Coding Method and Apparatus by Using Tool Set |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |