KR101319722B1 - Method and system for parallel video coding of time-space division - Google Patents
Method and system for parallel video coding of time-space division Download PDFInfo
- Publication number
- KR101319722B1 KR101319722B1 KR1020090107775A KR20090107775A KR101319722B1 KR 101319722 B1 KR101319722 B1 KR 101319722B1 KR 1020090107775 A KR1020090107775 A KR 1020090107775A KR 20090107775 A KR20090107775 A KR 20090107775A KR 101319722 B1 KR101319722 B1 KR 101319722B1
- Authority
- KR
- South Korea
- Prior art keywords
- input image
- space
- encoding
- time
- dividing
- 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.)
- Expired - Fee Related
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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/33—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
복수의 부호화부에서 병렬로 영상을 부호화하여 부호화 속도를 향상 시키는 비디오 부호화 방법 및 시스템이 개시된다. 비디오 부호화기는 제약 조건에 기초하여 입력 영상을 분할할 방법을 선택하고, 선택된 방법에 따라 상기 입력 영상을 분할하여 각기 다른 부호화부에 전송하는 시공간 분할부; 분할된 입력 영상을 부호화하여 부호화된 비트스트림을 생성하는 복수의 부호화부; 및 상기 복수의 부호화부들로부터 상기 부호화된 비트스트림들을 전송 받아 통합하는 입력 영상 통합부를 포함한다.
부호화, 시간, 공간, 분할, 복호화, 비트레이트.
Disclosed are a video encoding method and a system for improving encoding speed by encoding an image in parallel in a plurality of encoders. The video encoder may include: a space-time divider which selects a method of dividing an input image based on constraints and divides the input image according to the selected method and transmits the input image to different encoders; A plurality of encoders configured to generate the encoded bitstream by encoding the divided input image; And an input image integrator configured to receive and integrate the encoded bitstreams from the plurality of encoders.
Encoding, time, space, division, decoding, bitrate.
Description
본 발명은 비디오 부호화 방법 및 시스템에 관한 것으로서, 구체적으로는 복수의 부호화부에서 병렬로 부호화함으로써 부호화 속도를 향상 시키는 방법 및 시스템에 관한 것이다.The present invention relates to a video encoding method and system, and more particularly, to a method and system for improving a coding speed by encoding in parallel in a plurality of encoders.
본 발명은 지식경제부 및 한국전자통신연구원의 IT 성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다 [과제관리번호: 2008-S-006-02, 과제명: 차세대 IPTV 미디어 기술 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy and Korea Electronics and Telecommunications Research Institute.
영상 기술의 발전에 따라 UHD(Ultra High Definition)급 컨텐츠와 같이 고화질의 영상을 제공하는 대신에 부호화시 많은 컴퓨팅 파워 및 스토리지를 필요로 하는 컨텐츠가 등장하게 되었다.With the development of image technology, instead of providing high-definition video such as Ultra High Definition (UHD) content, content that requires a lot of computing power and storage in encoding has emerged.
이러한 고화질 컨텐츠들은 영상 내부의 각 프레임에 포함된 정보가 많아서 부호화하는데 일정 이상의 시간을 소비하므로 일정 수준 이하의 컴퓨터가 하나의 부호화기를 사용할 경우에 실시간으로 부호화 하기 어려운 실정이다.Since the high quality content has a lot of information included in each frame in the image and consumes a predetermined time or more, it is difficult to encode in real time when a computer having a predetermined level or less uses one encoder.
따라서, 매우 큰 리소스를 필요로 하는 UHD급이나 HD급 영상을 실시간으로 부호화할 수 있는 시스템 및 방법이 필요한 실정이다.Therefore, there is a need for a system and method capable of real-time encoding of UHD or HD video that requires very large resources.
본 발명의 일실시예들은 부호화할 입력 영상을 시간이나 공간적으로 분할하고, 분할된 입력 영상을 각기 다른 부호화기에서 부호화함으로써 대용량 영상을 실시간으로 부호화할 할 수 있는 비디오 부호화기를 제공한다.One embodiment of the present invention provides a video encoder capable of encoding a large amount of images in real time by dividing an input image to be encoded in time or space and encoding the divided input images in different encoders.
본 발명의 일실시예에 따른 비디오 부호화기는 제약 조건에 기초하여 입력 영상을 분할할 방법을 선택하고, 선택된 방법에 따라 상기 입력 영상을 분할하여 각기 다른 부호화부에 전송하는 시공간 분할부; 분할된 입력 영상을 부호화하여 부호화된 비트스트림을 생성하는 복수의 부호화부; 및 상기 복수의 부호화부들로부터 상기 부호화된 비트스트림들을 전송 받아 통합하는 입력 영상 통합부를 포함한다.According to an embodiment of the present invention, a video encoder includes: a space-time divider which selects a method for dividing an input image based on constraints, and divides the input image according to the selected method and transmits the input image to different encoders; A plurality of encoders configured to generate the encoded bitstream by encoding the divided input image; And an input image integrator configured to receive and integrate the encoded bitstreams from the plurality of encoders.
본 발명의 일실시예에 따른 시공간 분할부는 상기 입력 영상을 시간으로 분할할 경우에, 상기 입력 영상의 프레임들을 상기 부호화부의 숫자에 기초하여 각기 다른 종류의 그룹으로 그룹화하여 분할하고, 분할된 상기 그룹을 상기 그룹의 종류에 따라 대응하는 상기 부호화부로 전송할 수 있다.When the space-time divider according to an embodiment of the present invention divides the input image into time, the frames of the input image are divided into groups of different types based on the number of the encoder and divided into groups. May be transmitted to the encoder according to the type of the group.
또한, 본 발명의 일실시예에 따른 시공간 분할부는 상기 입력 영상을 공간으로 분할할 경우에, 상기 입력 영상에 포함된 각 프레임의 화면을 상기 부호화부의 숫자에 따라 분할하고, 분할된 상기 화면을 각기 다른 상기 부호화부로 전송할 수 있다.In addition, when the space-time divider according to an embodiment of the present invention divides the input image into space, the screen of each frame included in the input image is divided according to the number of the encoder, and each of the divided screens It may be transmitted to the other encoder.
그리고, 본 발명의 일실시예에 따른 시공간 분할부는 상기 입력 영상을 시간 과 공간을 모두 사용하여 분할할 경우에, 상기 입력 영상에 포함된 각 프레임의 화면을 S개로 분할하고, 분할된 각각의 상기 화면을 상기 화면이 포함된 프레임 별로 K종류가 되도록 그룹화하여 각기 다른 상기 부호화부에 전송할 수 있다.In addition, when the space-time division unit divides the input image using both time and space, the space-time division unit divides the screen of each frame included in the input image into S pieces, and each of the divided The screens may be grouped into K types for each frame including the screens and transmitted to different encoding units.
본 발명의 일실시예에 따른 비디오 부호화 방법은 제약 조건에 기초하여 입력 영상을 분할할 방법을 선택하는 단계; 선택된 방법에 따라 상기 입력 영상을 분할하여 각기 다른 부호화부에 전송하는 단계; 분할된 입력 영상을 독립적으로 부호화하여 부호화된 비트스트림을 생성하는 단계; 및 부호화된 비트스트림들을 통합하는 단계를 포함한다.A video encoding method according to an embodiment of the present invention comprises the steps of selecting a method for segmenting an input image based on constraints; Dividing the input image according to a selected method and transmitting the split image to different encoding units; Independently encoding the split input image to generate an encoded bitstream; And incorporating the encoded bitstreams.
본 발명의 일실시예들은 부호화할 입력 영상을 시간이나 공간적으로 분할하고, 분할된 입력 영상을 각기 다른 부호화기에서 부호화함으로써 대용량 영상을 실시간으로 부호화할 할 수 있다.According to an embodiment of the present invention, a large-capacity image may be encoded in real time by partitioning an input image to be encoded in time or space, and encoding the divided input image by different encoders.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예들을 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments.
도 1은 본 발명의 일실시예에 따른 비디오 부호화기의 일례를 도시한 도면이다. 1 is a diagram illustrating an example of a video encoder according to an embodiment of the present invention.
본 발명의 일실시예에 따른 비디오 부호화기(100)는 도 1에 도시된 바와 같이 시공간 분할부(110), 부호화부(120), 및 입력 영상 통합부(130)로 구성된다.As illustrated in FIG. 1, the
본 발명의 일실시예에 따른 비디오 부호화기(100)는 입력 영상을 복수의 부호화부에서 병렬로 부호화함으로써 부호화 속도를 향상 시킬 수 있다. The
시공간 분할부(110)는 제약 조건에 기초하여 입력 영상을 분할할 방법을 선택하고, 선택된 방법에 따라 상기 입력 영상을 분할하여 각기 다른 부호화부에 전송한다.The space-
이때, 시공간 분할부(110)는 시간으로 분할하는 방법과, 공간으로 분할하는 방법, 및 시간과 공간을 모두 사용하여 분할하는 방법 중에 하나를 선택하여 입력 영상을 분할할 수 있다. 또한, 제약 조건은 사용 가능한 부호화부(120)의 숫자와 비디오 부호화기(100)가 목표하는 부호화 비트 율, 및 비디오 부호화기(100)의 최대 초기 지연 시간과 같은 조건 중에 적어도 하나를 포함할 수 있다.In this case, the space-
시간으로 분할하는 방법과, 공간으로 분할하는 방법, 및 시간과 공간을 모두 사용하여 분할하는 방법은 각각 도 2 내지 도 4를 참조하여 상세히 설명한다.A method of dividing into time, a method of dividing into space, and a method of dividing using both time and space will be described in detail with reference to FIGS. 2 to 4, respectively.
부호화부(120)는 시공간 분할부(110)로부터 분할되어 전송된 입력 영상을 부호화하여 생성한 부호화된 비트스트림을 입력 영상 통합부(130)로 전송할 수 있다.The
이때, 부호화부(120)는 제1 부호화부(121), 제2 부호화부(122) 내지 제N 부호화부(123)까지 N개의 부호화부로 구성될 수 있다.In this case, the
또한, 부호화부(120)는 각각 다른 부호화부와는 독립적으로 분할되어 전송된 입력 영상을 부호화할 수 있다. 일례로 제2 부호화부(122)는 제1 부호화부(121)가 부호화하는 입력 영상이나 부호화 방법에 영향을 받지 않고, 시공간 분할부(110)로부터 전송된 입력 영상을 부호화할 수 있다.In addition, the
입력 영상 통합부(130)는 부호화부(120)로부터 전송된 비트스트림들을 순차적으로 정렬하여 통합한다.The
이때, 입력 영상 통합부(130)는 통합한 비트스트림을 스토리지에 저장하거나 스트리밍 서버에 전달할 수 있다.In this case, the
본 발명의 일실시예에 따른 비디오 부호화기(100)는 부호화할 입력 영상을 시간이나 공간적으로 분할하고, 분할된 입력 영상을 각기 다른 부호화기에서 부호화함으로써 대용량 영상을 실시간으로 부호화할 수 있다.The
도 2는 본 발명의 일실시예에 따라 입력 영상을 시간으로 분할하는 경우의 일례이다.2 illustrates an example of dividing an input image by time according to an embodiment of the present invention.
본 발명의 일실시예에 따른 시공간 분할부(110)는 입력 영상을 시간으로 분할할 경우에, 입력 영상의 프레임들을 부호화부(120)의 숫자 N에 기초하여 각기 다른 종류의 그룹으로 그룹화하여 분할하고, 분할된 그룹을 그룹의 종류에 따라 대응하는 부호화부로 전송할 수 있다. 이때, 시공간 분할부(110)는 M개의 연속된 프레임을 포함하는 그룹 Pi를 i번째 부호화부(120)에 전송할 수 있다.When the space-
일례로, 2개의 부호화부(120)로 구성된 비디오 부호화기(100)의 시공간 분할부(110)는 도 2의 구조(210)에 도시된 바와 같이 입력 영상을 P1과 P2의 2종류 그룹으로 그룹화하여 제1 부호화부(121)과 제2 부호화부(122)에서 각각 부호화 하도록 할 수 있다.For example, the space-
다른 일례로, 4개의 부호화부(120)로 구성된 비디오 부호화기(100)의 시공간 분할부(110)는 도 2의 구조(210)에 도시된 바와 같이 입력 영상을 P1 내지 P4의 4 종류 그룹으로 그룹화하여 4개의 부호화부(120)에서 각각 부호화 하도록 할 수 있다.As another example, the space-
이때, 시공간 분할부(110)는 동일한 입력 영상을 각기 다른 숫자의 그룹으로 분할하므로 구조(210)에서 각 그룹에 포함되는 프레임의 수가 구조(220)에서 각 그룹에 포함되는 프레임의 수보다 많도록 분할할 수 있다.In this case, since the space-
또한, 시공간 분할부(110)는 제약 조건에 따라 총 N개의 부호화부(120) 중에서 K개의 부호화부(120)만을 사용할 수도 있으며, 그룹에 포함되는 프레임의 수인 M을 결정할 수도 있다.In addition, the space-
일례로, 제약 조건이 사용 가능한 부호화부(120)의 숫자인 경우에 시공간 분할부(110)가 분할한 그룹의 종류는 사용 가능한 부호화부(120)의 숫자보다 적거나 같을 수 있다. 이때, M은 범위에 제한이 없이 자유로이 선택될 수 있다.For example, when the constraint is the number of
다른 일례로, 제약 조건이 초당 C개의 프레임을 부호화 할 수 있는 복수의 부호화부(120)를 사용하여 초당 F프레임을 가진 영상을 부호화하는 것인 경우에 시공간 분할부(110)는 입력 영상의 프레임들을 F/C보다 많은 수로 그룹화하여 분할할 수 있다. 구체적으로 시공간 분할부(110)는 입력 영상의 프레임들을 F/C보다 큰 정수 중에 가장 작은 정수로 그룹화하여 분할할 수 있다.As another example, when the constraint condition is to encode an image having F frames per second using the plurality of
이때, 시공간 분할부(110)가 분할된 입력 영상을 전송하여 사용하는 부호화부(120)의 숫자 K는 F/C보다 많을 수 있다.In this case, the number K of the
또 다른 일례로 제약 조건이 최대 초기 지연 시간이 T이고, 초당 C개의 프레임을 부호화 할 수 있는 복수의 부호화부(120)를 사용하여 초당 F프레임을 가진 영 상을 부호화하는 것인 경우에 시공간 분할부(110)는 T*C보다 적은 숫자의 프레임으로 각각의 그룹들을 구성할 수 있다. 구체적으로 시공간 분할부(110)는 각각의 그룹이 T*C보다 적은 정수 중에 가장 큰 정수의 프레임을 가지도록 입력 영상을 그룹화할 수 있다.As another example, when the constraint is encoding the image having F frames per second by using a plurality of
또한, 동일한 PSNR을 가지도록 부호화하는 경우에 M 값이 증가할수록 부호화된 비트스트림의 비트 율이 감소하므로, 제약 조건으로 목표 비트 율이 설정된 경우에 시공간 분할부(110)는 설정된 목표 비트 율에 기초하여 각각의 상기 그룹에 포함되는 프레임의 수 M을 결정할 수 있다.In addition, in the case of encoding to have the same PSNR, as the M value increases, the bit rate of the encoded bitstream decreases. Therefore, when the target bit rate is set as a constraint, the space-
그리고, 시공간 분할부(110)는 제약 조건으로 최대 초기 지연시간, 프로세서의 부호화 처리속도, 목표 비트 율, 최대 사용 가능한 프로세서의 수가 모두 설정되어 있으면, 모든 제약 사항들을 고려하여 최적의 M 및 K를 결정할 수 있다.If the maximum initial delay time, the encoding processing speed of the processor, the target bit rate, and the maximum number of processors are all set as constraints, the
또한, 부호화 중에 제약조건이 변하는 경우에 시공간 분할부(110)는 변화된 제약조건에 적합한 M 및 K를 새롭게 결정하여 비디오 비트스트림을 부호화 할 수 있다.In addition, when constraints change during encoding, the space-
도 3은 본 발명의 일실시예에 따라 입력 영상을 공간으로 분할하는 경우의 일례이다.3 illustrates an example of dividing an input image into spaces according to an embodiment of the present invention.
본 발명의 일실시예에 따른 시공간 분할부(110)는 입력 영상을 공간으로 분할할 경우에, 입력 영상에 포함된 각 프레임의 화면을 부호화부(120)의 숫자에 따라 분할하고, 분할된 화면을 각기 다른 상기 부호화부로 전송할 수 있다. When the space-
일례로, 부호화부(120)의 숫자가 각각 2개, 3개, 4개, 5개인 경우에 비디오 부호화기(100)의 시공간 분할부(110)는 도 3의 구조(310), 구조(320), 구조(330), 구조(340)에 도시된 바와 같이 입력 영상에 포함된 각 프레임의 화면을 분할할 수 있다.For example, when the number of the
부호화부(120)가 각기 다른 부호화 속도를 가지고 있는 경우에 시공간 분할부(110)는 각 프레임의 화면을 각기 다른 크기로 분할하고 크게 분할된 화면을 부호화 속도가 빠른 부호화부(120)로 전송할 수 있다.When the
일례로 3개의 부호화부(120)로 구성된 비디오 부호화기(100)에서 1개의 부호화부(120)의 부호화 속도가 더 빠른 경우에 시공간 분할부(110)는 구조(320)과 같이 프레임의 화면을 분할할 수 있다.For example, when the encoding speed of one
다음으로 시공간 분할부(110)는 부호화 속도가 빠른 부호화부에게 크기가 큰 Q3을 전송하고, 다른 부호화부에게 Q3보다 크기가 작은 Q1과 Q2를 각각 전송할 수 있다.Next, the space-
일례로, 제약 조건이 사용 가능한 부호화부(120)의 숫자인 경우에 시공간 분할부(110)가 분할한 화면의 수는 사용 가능한 부호화부(120)의 숫자보다 적거나 같을 수 있다. For example, when the constraint is the number of
다른 일례로 제약 조건이 초당 C개의 프레임을 부호화 할 수 있는 복수의 부호화부(120)를 사용하여 초당 F프레임을 가진 영상을 부호화하는 것인 경우에 시공간 분할부(110)는 프레임의 화면을 F/C보다 많은 수로 분할할 수 있다.As another example, when the constraint is to encode an image having F frames per second by using the plurality of
이때, 부호화부(120)의 초당 부호화할 수 있는 프레임 량은 부호화할 프레임의 크기에 따라 변경될 수 있다.In this case, the amount of frames that can be encoded per second by the
일례로, 도 3의 구조(310)에 따라 화면의 절반 크기를 부호화 할 경우에 부호화부(120)가 초당 15프레임을 부호화할 수 있다면, 도 3의 구조(330)에 따라 화면의 1/4 크기를 부호화하면, 부호화부(120)는 초당 30프레임을 부호화할 수 있다.For example, if the
따라서, 시공간 분할부(110)는 화면의 크기에 따른 부호화부(120)의 부호화 속도에 기초하여 프레임의 화면을 분할할 수 있다.Therefore, the space-
또한, 프레임의 화면을 분할하여 생성된 분할 화면의 숫자 S가 증가할수록 부호화된 비트스트림의 비트 율이 감소하므로, 제약 조건으로 목표 비트 율이 설정된 경우에 시공간 분할부(110)는 설정된 목표 비트 율에 기초하여 각각의 상기 그룹에 포함되는 분할 화면의 숫자 S를 결정할 수 있다.In addition, since the bit rate of the encoded bitstream decreases as the number S of the split screen generated by dividing the screen of the frame increases, the space-
그리고, 시공간 분할부(110)는 제약 조건으로 최대 초기 지연시간, 프로세서의 부호화 처리속도, 목표 비트 율, 최대 사용 가능한 프로세서의 수가 모두 설정되어 있으면, 모든 제약 사항들을 고려하여 최적의 S를 결정할 수 있다.If the maximum initial delay time, the encoding processing speed of the processor, the target bit rate, and the maximum number of processors are all set as constraints, the
또한, 부호화 중에 제약조건이 변하는 경우에 시공간 분할부(110)는 변화된 제약조건에 적합한 S를 새롭게 결정하여 비디오 비트스트림을 부호화 할 수 있다.In addition, when the constraints change during encoding, the space-
도 4은 본 발명의 일실시예에 따라 입력 영상을 시간과 공간을 모두 사용하여 분할하는 경우의 일례이다.4 illustrates an example of dividing an input image using both time and space according to an embodiment of the present invention.
본 발명의 일실시예에 따른 시공간 분할부(110)는 입력 영상을 시간과 공간을 모두 사용하여 분할할 경우에, 입력 영상에 포함된 각 프레임의 화면을 S개로 분할하고, 분할된 각각의 화면을 화면이 포함된 프레임 별로 K종류가 되도록 그룹화하여 각기 다른 부호화부에 전송할 수 있다. 이때, 시공간 분할부(110)는 S와 K 의 곱이 부호화부의 숫자 N보다 적거나 같도록 설정할 수 있다.In the case of dividing an input image using both time and space, the
일례로, 도 4의 구조(400)에 도시된 바와 같이 각 프레임의 화면을 S개로 분할하여 각 분할된 블록을 Qi라고 하고, M개 연속적인 프레임의 그룹을 Pj라고 하면 시공간 분할부(110)는 M개의 연속적인 Qi블록의 그룹을 Pji라고 설정하고, 각 Pji를 S*K개의 부호화부에 전송할 수 있다. 이때, i는 1<=i<=S이고, j 는 1<=j<=K일 수 있다.For example, as shown in the
이때, 제약 조건이 사용 가능한 부호화부(120)의 숫자인 경우에 시공간 분할부(110)는 S*K<= N을 만족하는 범위 안에서 S와 K를 자유롭게 선택할 수 있다.In this case, when the constraint is a number of
또한, 제약 조건이 초당 C개의 프레임을 부호화 할 수 있는 복수의 부호화부(120)를 사용하여 초당 F프레임을 가진 영상을 부호화하는 것인 경우에 시공간 분할부(110)는 S와 K의 곱이 F/C보다 많도록 S와 K를 선택할 수 있다.In addition, when the constraint condition is to encode an image having F frames per second using the plurality of
그리고, 제약 조건이 최대 초기 지연 시간이 T이고, 초당 C개의 프레임을 부호화 할 수 있는 복수의 부호화부(120)를 사용하여 초당 F프레임을 가진 영상을 부호화하는 것인 경우에 시공간 분할부(110)는 입력 영상을 F/C보다 많은 숫자로 분할하여 F/C보다 많은 숫자의 부호화부(120)로 전송할 수 있다. 이때, 시공간 분할부(110)는 상기 입력 영상을 F/C보다 많은 숫자로 분할하고, 분할된 각각의 입력 영상이 T*C보다 적은 숫자의 프레임을 포함하도록 할 수 있다.In addition, when the constraint is to encode an image having F frames per second by using a plurality of
또한, M과 S는 각각 증가할수록 부호화된 비트스트림의 비트 율이 감소하므로, 제약 조건으로 목표 비트 율이 설정된 경우에 시공간 분할부(110)는 설정된 목표 비트 율에 기초하여 M과 S를 결정할 수 있다.In addition, as M and S increase, the bit rate of the encoded bitstream decreases, so that when the target bit rate is set as a constraint, the space-
그리고, 시공간 분할부(110)는 제약 조건으로 최대 초기 지연시간, 프로세서의 부호화 처리속도, 목표 비트 율, 최대 사용 가능한 프로세서의 수가 모두 설정되어 있으면, 모든 제약 사항들을 고려하여 최적의 S와 M 및 K를 결정할 수 있다.In addition, if the maximum initial delay time, the encoding processing speed of the processor, the target bit rate, and the maximum number of available processors are all set as the constraints, the
또한, 부호화 중에 제약조건이 변하는 경우에 시공간 분할부(110)는 변화된 제약조건에 적합한 S와 M 및 K를 새롭게 결정하여 비디오 비트스트림을 부호화 할 수 있다.In addition, when the constraint changes during encoding, the space-
도 5는 본 발명의 일실시예에 따른 비디오 부호화 방법을 도시한 흐름도이다. 5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
단계(S510)에서 시공간 분할부(110)는 제약 조건에 기초하여 입력 영상을 분할할 방법을 선택한다.In operation S510, the space-
구체적으로 시공간 분할부(110)는 입력 영상을 시간으로 분할하는 방법과, 입력 영상을 공간으로 분할하는 방법, 및 입력 영상을 시간과 공간을 모두 사용하여 분할하는 방법 중에 하나를 선택할 수 있다.In detail, the space-
단계(S520)에서 시공간 분할부(110)는 단계(S510)에서 선택한 분할 방법에 따라 입력 영상을 분할하여 각기 다른 부호화부에 전송한다.In operation S520, the space-
단계(S530)에서 부호화부(120)는 단계(S520)에서 전송된 입력 영상을 독립적으로 부호화하여 부호화된 비트스트림을 생성하고, 부호화된 비트스트림을 전송한다.In operation S530, the
단계(S540)에서 입력 영상 통합부(130)는 단계(S530)에서 전송된 비트스트림을 수신하여 통합한다. 이때, 입력 영상 통합부(130)는 통합한 비트스트림을 스토 리지에 저장하거나 스트리밍 서버에 전달할 수 있다.In operation S540, the
도 5에서 설명되지 않은 부분은 도 1 내지 도 4의 설명을 참고할 수 있다.Parts not described in FIG. 5 may refer to descriptions of FIGS. 1 to 4.
본 발명에 따른 비디오 부호화기는 복수의 부호화부를 사용하여 하나의 입력영상을 주어진 제약사항에 맞도록 적절히 시공간으로 분할하여 부호화를 수행함으로써 UHD급 컨텐츠와 같이 부호화를 위하여 많은 컴퓨팅 파워 및 스토리지를 필요로 하는 컨텐츠를 실시간으로 부호화할 수 있다.The video encoder according to the present invention requires a large amount of computing power and storage for encoding such as UHD content by performing encoding by dividing one input image into space and time according to a given constraint using a plurality of encoders. Content can be encoded in real time.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.
도 1은 본 발명의 일실시예에 따른 비디오 부호화기의 일례를 도시한 도면이다. 1 is a diagram illustrating an example of a video encoder according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따라 입력 영상을 시간으로 분할하는 경우의 일례이다.2 illustrates an example of dividing an input image by time according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따라 입력 영상을 공간으로 분할하는 경우의 일례이다.3 illustrates an example of dividing an input image into spaces according to an embodiment of the present invention.
도 4은 본 발명의 일실시예에 따라 입력 영상을 시간과 공간을 모두 사용하여 분할하는 경우의 일례이다.4 illustrates an example of dividing an input image using both time and space according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 비디오 부호화 방법을 도시한 흐름도이다. 5 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.
Claims (19)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020090107775A KR101319722B1 (en) | 2009-11-09 | 2009-11-09 | Method and system for parallel video coding of time-space division |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020090107775A KR101319722B1 (en) | 2009-11-09 | 2009-11-09 | Method and system for parallel video coding of time-space division |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20110051104A KR20110051104A (en) | 2011-05-17 |
| KR101319722B1 true KR101319722B1 (en) | 2013-10-17 |
Family
ID=44361530
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020090107775A Expired - Fee Related KR101319722B1 (en) | 2009-11-09 | 2009-11-09 | Method and system for parallel video coding of time-space division |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR101319722B1 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
| WO2013033458A2 (en) | 2011-08-30 | 2013-03-07 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
| KR102633460B1 (en) * | 2016-03-29 | 2024-02-06 | 한국전자통신연구원 | Apparatus and method for distributed video endoder |
| US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
| WO2020085569A1 (en) * | 2018-10-25 | 2020-04-30 | 전자부품연구원 | Device and method for real-time division encoding |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100635010B1 (en) * | 1999-10-07 | 2006-10-16 | 삼성전자주식회사 | Video encoding device using multiple encoders |
| KR20070097366A (en) * | 2006-03-28 | 2007-10-04 | 삼성전자주식회사 | Image encoding and decoding method and apparatus |
| JP2007325027A (en) | 2006-06-01 | 2007-12-13 | Oki Electric Ind Co Ltd | Image segmentation method, image segmentation apparatus, and image segmentation program |
| JP2008527945A (en) | 2005-01-19 | 2008-07-24 | トムソン ライセンシング | Method and apparatus for real-time parallel encoding |
-
2009
- 2009-11-09 KR KR1020090107775A patent/KR101319722B1/en not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100635010B1 (en) * | 1999-10-07 | 2006-10-16 | 삼성전자주식회사 | Video encoding device using multiple encoders |
| JP2008527945A (en) | 2005-01-19 | 2008-07-24 | トムソン ライセンシング | Method and apparatus for real-time parallel encoding |
| KR20070097366A (en) * | 2006-03-28 | 2007-10-04 | 삼성전자주식회사 | Image encoding and decoding method and apparatus |
| JP2007325027A (en) | 2006-06-01 | 2007-12-13 | Oki Electric Ind Co Ltd | Image segmentation method, image segmentation apparatus, and image segmentation program |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20110051104A (en) | 2011-05-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA3052657C (en) | Iterative techniques for encoding video content | |
| CN106537923B (en) | The technology of adaptive video stream | |
| WO2020055655A1 (en) | Scalability of multi-directional video streaming | |
| KR101625910B1 (en) | Method and device for image processing by image division | |
| CN103597839A (en) | Video compression implementing resolution tradeoffs and optimization | |
| CN104620583A (en) | Coding and Reconstruction of Residual Data Based on Supporting Information | |
| US8958642B2 (en) | Method and device for image processing by image division | |
| KR101319722B1 (en) | Method and system for parallel video coding of time-space division | |
| US20200322612A1 (en) | Encoding a plurality of signals | |
| US11677797B2 (en) | Techniques for encoding a media title while constraining quality variations | |
| CN112153391B (en) | Video coding method and device, electronic equipment and storage medium | |
| US12309408B2 (en) | Exchanging information in hierarchical video coding | |
| US11722720B2 (en) | Techniques for encoding a media title via multiple encoders | |
| US20220239939A1 (en) | Temporal Prediction Shifting for Scalable Video Coding | |
| CN114631315A (en) | Image encoding method and apparatus and image decoding method and apparatus | |
| US20240089499A1 (en) | Displacement coding for mesh compression | |
| US20240064334A1 (en) | Motion field coding in dynamic mesh compression | |
| WO2024003577A1 (en) | Applications of layered encoding in split computing | |
| US11979606B2 (en) | Conditional recolor for video based point cloud coding | |
| US20230196505A1 (en) | Artificial intelligence-based image providing apparatus and method, and artificial intelligence-based display apparatus and method | |
| US20240048764A1 (en) | Method and apparatus for multi view video encoding and decoding, and method for transmitting bitstream generated by the multi view video encoding method | |
| US20240015289A1 (en) | Adaptive quantization for instance-based mesh coding | |
| EP4413718A1 (en) | Systems and methods for predictive coding | |
| HK40075540A (en) | A framework for video conferencing based on face restoration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E90F | Notification of reason for final refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| FPAY | Annual fee payment |
Payment date: 20160927 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20171012 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20171012 |