KR100923961B1 - System and method for low-delay video telecommunication - Google Patents
System and method for low-delay video telecommunicationInfo
- Publication number
- KR100923961B1 KR100923961B1 KR1020070124551A KR20070124551A KR100923961B1 KR 100923961 B1 KR100923961 B1 KR 100923961B1 KR 1020070124551 A KR1020070124551 A KR 1020070124551A KR 20070124551 A KR20070124551 A KR 20070124551A KR 100923961 B1 KR100923961 B1 KR 100923961B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- scene change
- encoding
- image data
- current frame
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/142—Detection of scene cut or scene change
-
- 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/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
장면 전환 프레임이 존재하는 경우에도 버퍼의 넘침 등으로 인하여 전송 지연이 발생하는 것을 방지할 수 있으며, 또한 재생 영상의 화질을 일정한 수준 이상으로 보장할 수 있는 영상 통신 시스템과 이를 구성하는 장치 및 이를 위한 알고리즘에 관하여 개시한다. 본 발명의 일 실시예에 의하면, 송신측 장치의 부호화 유닛은 매크로블록 라인 단위로 입력되며 또한 인터모드(Inter-Mode)인 현재 프레임의 입력 영상 데이터를 소정 크기의 블록 단위로 순차적으로 부호화하며, 장면 전환 판정부는 N(N은 2이상의 자연수)개의 블록 그룹으로 분할되어 구성된 현재 프레임에 대하여 부호화 유닛에서 부호화가 수행된 블록 그룹까지의 영상 데이터에 기초하여 장면 전환 프레임에 해당되는지를 판정한다. 이와 같이, 블록 그룹 단위로 장면 전환 프레임 여부를 판정하는 부호화 유닛에서는 장면 전환 프레임이 아닌 것으로 판정된 프레임은 그 전체에 대하여 부호화를 수행하지만, 장면 전환 프레임에 대해서는 그 이후의 블록 그룹에 대해서는 부호화를 수행하지 않는다. 그리고 영상 통신 시스템의 수신측 장치는 장면 전환 프레임에 해당하는 시간에서는 그 이전 프레임의 영상을 반복하여 재생한다.Even when a scene change frame exists, a transmission delay can be prevented due to overflow of a buffer, and a video communication system capable of ensuring a certain level or higher of a playback image, a device constituting the same, and a device for the same Discuss the algorithm. According to an embodiment of the present invention, the encoding unit of the transmitting apparatus sequentially inputs input image data of a current frame that is input in macroblock line units and is inter-mode in block units of a predetermined size, The scene change determination unit determines whether the scene change frame corresponds to the scene change frame based on the image data from the coding unit to the block group in which encoding has been performed on the current frame that is divided into N (N is a natural number of two or more) blocks. As described above, in the encoding unit that determines whether the scene change frame is in block group units, the frame determined to be not the scene change frame performs encoding on the entire frame, but encoding is performed on the subsequent block group with respect to the scene change frame. Do not perform. The receiving side apparatus of the video communication system repeatedly plays back the image of the previous frame at the time corresponding to the scene change frame.
Description
본 발명은 영상 통신 시스템에 관한 것으로, 보다 구체적으로 일정 수준 이상의 화질로 저지연 영상 통신을 지원할 수 있는 영상 통신 시스템과 이를 위한 절차에 관한 것이다.The present invention relates to a video communication system, and more particularly, to a video communication system capable of supporting low-delay video communication with a certain level or more of quality and a procedure therefor.
화상 전화나 영상 회의 등과 같은 실시간 영상 통신을 제공하기 위한 시스템을 '영상 통신 시스템'이라 한다. 영상 통신 시스템은 서로 떨어져 있는 2명 또는 그 이상의 다수의 사용자들 사이에서 음성과 영상 통신이 실시간으로 이루어지도록 하기 위한 장치로서, 송신측 장치와 수신측 장치를 포함한다. 송신측 장치는 영상 및 음성을 부호화한 다음 부호화된 데이터(Encoded Data)를 유, 무선의 채널을 통해 전송하며, 수신측 장치는 부호화된 데이터를 수신하고 또한 수신된 부호화된 데이터를 복호화하여 영상 및 음성을 복원한다. 이러한 송신측 장치와 수신측 장치는, 일반적으로 단말(Terminal)이나 사용자 장치(User Equipment) 등과 같은 하나의 장치에 함께 구비된다. 물론, 영상 통신은 서로 다른 사용자 장치의 송신측 장치와 수신측 장치 사이에서 이루어진다.A system for providing real-time video communication such as video telephony or video conferencing is called a 'video communication system'. A video communication system is a device for allowing voice and video communication in real time between two or more users who are separated from each other, and includes a sending device and a receiving device. The transmitting device encodes the video and audio, and then transmits the encoded data through wired and wireless channels, and the receiving device receives the encoded data and decodes the received encoded data. Restore voice Such a transmitting device and a receiving device are generally provided together in one device such as a terminal or a user equipment. Of course, the video communication is performed between the transmitting device and the receiving device of different user equipment.
영상 통신 시스템의 구현을 위하여 현재까지 여러 가지 영상 및 음성의 코덱 기술이 제안되었다. 예를 들어, 종합 정보 통신망(Integrated Services Digital Network, ISDN)을 이용한 화상 전화와 영상 회의를 위한 국제 표준인 H.261과 공중 전화 교환망(Public Switched Telephone Network, PSTN)을 이용한 비디오폰 서비스를 위한 국제 표준인 H.263 등이 있다. 그리고 디지털 저장 매체(Digital Storage Media, DSM)나 방송 통신을 위한 동영상 압축 표준인 엠펙(MPEG)1이나 엠펙2 등도 영상 통신 시스템의 영상 코덱 기술로서 이용될 수 있다. 이러한 영상 및 음성의 코덱 기술은 영상 통신에서의 화질이나 음질 등에 상당한 영향을 미친다. Various video and audio codec technologies have been proposed to implement a video communication system. For example, H.261, the international standard for video telephony and video conferencing over Integrated Services Digital Network (ISDN), and international videophone services over public switched telephone network (PSTN). H.263, the standard. In addition, digital storage media (DSM) or MPEG (MPEG) 1 or MPEG 2, which are video compression standards for broadcast communication, may also be used as an image codec technology of a video communication system. The codec technology of video and audio has a significant influence on image quality and sound quality in video communication.
한편, 영상 통신 시스템에서는 화질이나 음질과 함께 통신의 실시간성을 보장하는 것이 아주 중요하다. 코덱 기술은 데이터 발생양 등에 영향을 미침으로써 통신의 실시간성에 간접적으로 영향을 미치지만, 송신측 장치의 송신기와 수신측 장치의 수신기(이러한 송신기와 수신기는 사용자 장치의 송수신기(Tranceiver)로 구현될 수 있다)에서의 데이터 처리 속도와 전송 관련 기술 등은 영상 통신의 실시간성에 직접적으로 영향을 미친다. 예를 들어, 실시간 영상 통신을 지원하기 위해서는 송신기와 수신기에서의 버퍼 지연을 최소화함으로써 종단간 지연(End-to-End Delay)을 방지하거나 최소화하여야 한다. On the other hand, in a video communication system, it is very important to ensure real-time communication with image quality or sound quality. Codec technology indirectly affects the real-time of communication by affecting the amount of data generated, but the transmitter of the transmitting device and the receiver of the receiving device (these transmitters and receivers can be implemented as transceivers of the user device). Data processing speed and transmission-related technologies directly affect the real-time of video communication. For example, in order to support real-time video communication, end-to-end delay should be prevented or minimized by minimizing buffer delays at the transmitter and the receiver.
버퍼 지연으로 인하여 종단간 지연이 발생하는 한 가지 원인은 입력 영상에 장면 전환 프레임이 존재하는 경우인데, 그 이유는 장면 전환 프레임에서는 부호화의 결과 발생하는 데이터의 양이 다른 프레임에 비하여 많기 때문이다. '장면 전환 프레임'이란 말 그대로 전후의 장면이 전환될 때의 프레임으로서, 비록 장면 전환이 아니더라도 전후 영상의 상관성이 낮아서 부호화시에 프레임당 발생 비트량이 평균 비트 발생량에 비하여 상대적으로 많은 프레임도 장면 전환 프레임에 포함될 수 있다. 일반적으로, 장면 전환 프레임이 아닌 경우에는 송신측 장치의 부호기에서 인터 모드, 즉 화면간 예측을 이용하여 입력 영상을 압축 부호화하는데, 이 경우는 부호기에서의 부하가 작을 뿐만 아니라 부호화된 데이터의 양이 상대적으로 적기 때문에 송신기 버퍼에서의 전송 지연의 문제가 발생할 가능성이 낮다. 반면, 장면 전환 프레임의 경우에는 일반적으로 인터 모드로 부호화할 수 없고 인트라 모드로 부호화하기 때문에, 발생 비트량이 상대적으로 많아서 부호기에 가해지는 부하가 커진다. 뿐만 아니라, 발생 비트량이 많은 경우에는 송신기의 버퍼에서의 전송 지연의 문제가 초래될 수 있다.One reason for the end-to-end delay caused by the buffer delay is when a scene change frame exists in the input image, because the amount of data generated as a result of encoding in the scene change frame is larger than other frames. 'Scene change frame' is a frame when the scene before and after the scene is changed, and even if it is not the scene change, the correlation between the images before and after is low so that the amount of generated bits per frame at the time of encoding is relatively scene changed even when the average bit generation amount is relatively high. May be included in the frame. In general, when it is not a scene change frame, the encoder of the transmitting apparatus compresses and encodes the input video using inter mode, that is, inter-screen prediction. In this case, not only the load on the encoder is small but also the amount of encoded data Because of the relatively small number, the problem of transmission delay in the transmitter buffer is less likely. On the other hand, in the case of the scene change frame, since the encoding is not possible in the inter mode but in the intra mode, the generated bit amount is relatively large, and the load on the encoder increases. In addition, when the amount of bits generated is large, a problem of transmission delay in the buffer of the transmitter may be caused.
실시간 통신을 고려하지 않은 동영상 부호화 기술, 예컨대 MPEG-4나 H.264/AVC 등과 같은 동영상 압축 규격에서는 해당 프레임이 장면 전환 프레임인지를 고려하지 않으며, 전체 영상을 동일한 영상 그룹(Group Of Picture, GOP) 구조로 부호화를 수행한다. 이러한 기존의 동영상 부호화 기술을 실시간 영상 통신 시스템에 그대로 적용하면, 해당 영상이 장면 전환 프레임인 경우에는 아닌 경우에 비하여 프레임당 발생 비트량이 상대적으로 증가한다. 이와 같이, 프레임의 특성(예컨대, 장면 전환 프레임인지 여부 등)에 따라서 발생 비트량이 큰 폭으로 변동되도록 부호화하는 것을 가변 비트율(Variable Bit Rate, VBR) 부호화라 한다. Video coding techniques that do not take into account real-time communication, such as MPEG-4 or H.264 / AVC, do not consider whether the frame is a scene change frame, and the entire video is the same group of pictures (GOP). Coding is performed using the following structure. When the existing video encoding technology is applied to a real-time video communication system as it is, the amount of bits generated per frame is relatively increased as compared to when the video is not a scene change frame. In this way, encoding so that the amount of generated bits varies greatly in accordance with the characteristics of the frame (eg, whether or not it is a scene change frame) is called variable bit rate (VBR) encoding.
이와 같이, 영상을 VBR 방식으로 부호화하면 장면 전환 프레임인지 여부에 상관없이 일정한 화질의 재생 영상을 얻을 수 있다. 그러나 VBR 방식에 의할 경우에는 부호기에서 발생되는 비트량에 큰 폭의 변동이 발생하기 때문에, 송신기의 버퍼에서 심각한 전송 지연이 초래되거나 또는 한정된 대역폭을 가지는 전송 채널로는 생성되는 부호화된 데이터를 모두 전송하기가 어려운 단점이 있다.As described above, when the image is encoded by the VBR method, a reproduced image having a constant image quality may be obtained regardless of whether the frame is a scene change frame. However, the VBR method causes a large fluctuation in the amount of bits generated by the encoder, which causes a significant transmission delay in the transmitter buffer or all the encoded data generated by the transmission channel having a limited bandwidth. It is difficult to transmit.
예를 들어, 장면 전환 프레임으로 인하여 부호기에서 발생되는 비트량이 순간적으로 증가한다고 가정하자. 이 경우에 VBR 방식으로 부호화를 수행하면, 송신기의 버퍼에서 데이터의 적체가 생길 뿐만 아니라, 심한 경우에는 송신기의 버퍼에서의 버퍼 넘침 현상이 발생하기도 한다. 버퍼 넘침 현상이 발생하면 영상 통신 시스템에서 복원할 수 없는 데이터의 손실을 야기하기 때문에 영상 통신 시스템에서는 절대 피해야 하는 문제이다. For example, suppose that the amount of bits generated by the encoder due to the scene change frame instantaneously increases. In this case, if the encoding is performed using the VBR method, not only data accumulation occurs in the buffer of the transmitter, but also a buffer overflow phenomenon may occur in the buffer of the transmitter in severe cases. When the buffer overflow occurs, data loss that cannot be restored in the video communication system is a problem that must be avoided in the video communication system.
비록 버퍼 넘침 현상이 생기지 않는 경우라고 하더라도, 부호기에서 발생하는 비트량이 증가하면 '전송 지연'이라는 다른 문제가 초래될 수도 있다. 왜냐하면, 송신기 버퍼에 들어온 비트스트림은 전송 채널을 통하여 수신측 장치로 전송이 되어야 하는데, 전송 채널에서의 데이터 전송율은 일반적으로 한계가 있기 때문이다. 즉, 일시적으로 많은 양의 데이터가 발생하면 전송 채널을 통하여 많은 양의 데이터가 발생한 프레임은 일시에 전송할 수가 없으며, 그 결과 비트스트림의 전송에는 지연이 발생되게 된다. 이러한 전송 지연의 문제 역시 실시간 영상 통신에는 장애로 작용한다.Even if the buffer overflow does not occur, an increase in the amount of bits generated by the encoder may cause another problem of 'transmission delay'. This is because the bitstream entered into the transmitter buffer should be transmitted to the receiving device through the transmission channel, since the data rate in the transmission channel is generally limited. That is, when a large amount of data is generated temporarily, a frame in which a large amount of data is generated through a transmission channel cannot be transmitted at a time, and as a result, a delay occurs in the transmission of the bitstream. This problem of transmission delay also hinders real-time video communication.
또한, 부호기에서 발생하는 비트량이 증가하면, 그 만큼 복호기에서 복호화해야 하는 데이터의 양도 증가하기 때문에, 장면 전환 프레임이 있는 경우에는 복호화 또한 정상적으로 진행시키기가 어렵다. 복호기에서 수신된 데이터에 대한 복호화가 정상적으로 이루어지지 않으면, 재생되는 영상의 화질에 크게 영향을 주게 되며, 그 결과 원활한 화상 통화나 영상 회의가 진행되기가 어렵다. 따라서 화상 통화나 영상 회의 등을 지원하는 실시간 영상 통신 시스템은 이러한 문제점들이 발생하지 않도록 할 필요가 있다.In addition, if the amount of bits generated by the encoder increases, the amount of data to be decoded by the decoder increases by that amount, so that it is difficult to proceed with decoding normally when there is a scene change frame. If the decoding of the data received from the decoder is not performed normally, it greatly affects the image quality of the reproduced video, and as a result, it is difficult to perform a smooth video call or a video conference. Therefore, a real-time video communication system supporting video call, video conferencing, etc. needs to prevent such problems from occurring.
전술한 VBR 방식의 문제점들을 해결하기 위한 한 가지 방법은 영상의 특성에 상관없이 부호기에서 프레임당 발생되는 비트량을 거의 일정하게 유지시키는 것이다. 이 경우에는 장면 전환 프레임인지 여부에 상관없이 부호기에서 발생되는 비트량은 거의 일정하며, 이러한 방식의 부호화를 고정 비트율(Constant Bit Rate, CBR) 부호화라고 한다. 그러나 고정 비트율 부호화 방식을 사용하면, 디스플레이 영상의 화질이 일정하지 않으며, 특히 장면 전환 프레임의 경우에는 화질이 상당히 나빠지는 문제가 있다. One way to solve the problems of the above-described VBR scheme is to keep the amount of bits generated per frame in the encoder almost constant regardless of the characteristics of the image. In this case, the bit amount generated by the encoder is almost constant regardless of whether it is a scene change frame, and this type of encoding is called constant bit rate (CBR) encoding. However, when the fixed bit rate encoding method is used, the image quality of the display image is not constant, and in particular, in the case of a scene change frame, the image quality is considerably worsened.
그런데, CBR 방식으로 영상을 부호화하는 경우라도 부호기에서 생성되어 출력되는 비트량에는 변동이 있을 수가 있다. 일반적으로, 이러한 경우에는 송신기의 버퍼에서 이를 조절하거나 제어함으로써 전송 채널을 통하여 전송되는 데이터의 전송율은 일정하게 유지시킨다. 그러나 송신기 버퍼를 이용하여 데이터의 전송율을 제어하는 것은 결국 버퍼 지연에 의한 종단간 지연을 증가시키는 주된 요인이 된다.However, even when an image is encoded by the CBR method, there may be a variation in the amount of bits generated and output by the encoder. In this case, in general, the transmission rate of data transmitted through the transmission channel is kept constant by adjusting or controlling the buffer in the transmitter. However, controlling the data rate using the transmitter buffer is a major factor in increasing the end-to-end delay caused by the buffer delay.
이와 같이, 이전 프레임과 상관성이 적은 프레임, 즉 장면 전환 프레임이 입력 영상으로 들어오는 경우에, 종래의 영상 통신 시스템이나 절차에 의할 경우에는, 송신기의 버퍼에서의 넘침이나 버퍼링에 따른 지연의 문제, 전송 채널에서의 전송 지연 문제, 및/또는 재생 영상의 화질 열화 등 여러 가지 문제가 초래될 수가 있다.As described above, when a frame having a low correlation with a previous frame, that is, a scene change frame, enters an input image, and according to a conventional video communication system or procedure, there is a problem of overflow due to a buffer of a transmitter or a delay due to buffering, Various problems may occur such as a transmission delay problem in the transmission channel and / or deterioration of the image quality of the reproduced video.
본 발명이 해결하고자 하는 과제는 입력 영상 시퀀스에서 장면 전환이 있거나 또는 장면 전환은 아닐지라도 이전 프레임과의 상관성이 낮은 경우에도 송신기의 버퍼에서의 넘침이나 버퍼링에 따른 지연의 문제와 전송 채널에서의 전송 지연 문제가 발생하는 것을 방지할 수 있을 뿐만 아니라 재생 영상의 화질을 일정한 수준 이상으로 보장할 수 있는 저지연 영상 통신을 위한 장치와 방법을 제공하는 것이다.The problem to be solved by the present invention is the problem of delay due to overflow or buffering in the buffer of the transmitter and transmission in the transmission channel even if there is a scene change in the input video sequence or even if the scene change is not correlated with the previous frame The present invention provides an apparatus and method for low latency video communication, which can prevent a delay problem from occurring and also ensure a certain level or higher of a playback image.
상기한 과제를 해결하기 위한 본 발명의 일 실시예는 영상 부호화 장치를 포함하는 영상 통신 시스템의 송신측 장치에 관한 것으로써, 상기 영상 부호화 장치는 매크로블록 라인 단위로 입력되며 또한 인터모드(Inter-Mode)인 현재 프레임의 입력 영상 데이터를 매크로블록 단위로 순차적으로 부호화하기 위한 부호화 유닛과, N(N은 2이상의 자연수)개의 블록 그룹으로 분할되어 구성된 상기 현재 프레임에 대하여 상기 부호화 유닛에서 부호화가 수행된 k(1≤k≤N-1)번째 블록 그룹까지의 영상 데이터에 기초하여 상기 현재 프레임이 장면 전환 프레임에 해당되는지를 판정하기 위한 장면 전환 판정부를 포함하고, 상기 부호화 유닛은 상기 현재 프레임이 장면 전환 프레임이 아닌 것으로 판정되는 경우에는 상기 현재 프레임 전체에 대하여 부호화를 수행하지만, 상기 k번째 블록 그룹까지의 영상 데이터에 의하여 상기 현재 프레임이 장면 전환 프레임인 것으로 판정되는 경우에는 (k+1)번째 블록 그룹부터 N번째 블록 그룹에 속하는 영상에 대해서는 부호화를 수행하지 않는다.One embodiment of the present invention for solving the above problems relates to a transmitting side device of a video communication system including a video encoding device, the video encoding device is input in units of macroblock lines, and inter- A coding unit for sequentially encoding input image data of a current frame of a current frame) in macroblock units, and encoding is performed in the coding unit with respect to the current frame that is divided into N (N is a natural number of two or more) block groups. And a scene change determiner configured to determine whether the current frame corresponds to a scene change frame based on the image data up to the k (1 ≦ k ≦ N−1) th group of blocks. If it is determined that the scene is not a scene change frame, encoding is not performed on the entire current frame. Do not perform the encoding for the image by the image data belonging to the present case that the frames are determined to be a scene change frame, the (k + 1) th block from the second group of N group in the block to the k-th group of blocks.
상기 실시예의 일 측면에 의하면, 상기 장면 전환 판정부는 상기 현재 프레임의 첫 번째 블록 그룹부터 k번째 블록 그룹까지의 영상과 이전 프레임의 대응되는 부분의 영상과의 화소값의 차이의 합(SAD) 또는 평균(MAD), 또는 각 블록 그룹의 차이의 합의 평균값을 이용하여 상기 현재 프레임이 장면 전환 프레임인지를 판정할 수 있다. 이 경우에, 상기 이전 프레임의 대응되는 부분은 상기 현재 프레임의 직전 프레임의 대응되는 부분이거나 또는 상기 현재 프레임의 직전 프레임이 장면 전환 프레임에 해당되어 대응되는 부분이 없는 경우에는 상기 직전 프레임의 직전 프레임의 대응되는 부분일 수 있다.According to an aspect of the embodiment, the scene change determination unit (SAD) of the difference between the pixel value of the image from the first block group to the k-th block group of the current frame and the image of the corresponding portion of the previous frame or A mean (MAD) or an average value of the sum of the differences of each block group may be used to determine whether the current frame is a scene change frame. In this case, the corresponding portion of the previous frame is a corresponding portion of the immediately preceding frame of the current frame, or if the immediately preceding frame of the current frame corresponds to a scene change frame and there is no corresponding portion, the immediately preceding frame of the previous frame. May be the corresponding portion of.
상기 실시예의 다른 측면에 의하면, 상기 N은 부호화 대상이 되는 영상의 프레임 위치(예컨대, 프레임의 번호)에 따라서 달라질 수 있다. 즉, 모든 프레임에 대하여 블록 그룹의 개수가 같도록 설정할 필요가 없으며, 해당 프레임의 특성에 따라서 블록 그룹의 개수도 달라질 수 있다. 이 경우에, 장면 전환 판정부에서 장면 전환 여부를 판정하는 시점이 차이가 생기게 된다. 그리고 하나의 프레임을 구성하는 다수의 블록 그룹들 각각의 크기도 반드시 동일할 필요는 없다.According to another aspect of the embodiment, N may vary according to a frame position (eg, frame number) of an image to be encoded. That is, it is not necessary to set the same number of block groups for all frames, and the number of block groups may also vary according to the characteristics of the frame. In this case, there is a difference in time at which the scene change determination unit determines whether to change scenes. In addition, the sizes of each of the plurality of block groups constituting one frame are not necessarily the same.
상기한 해결 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 영상 통신 시스템의 수신측 장치는 전송 채널을 통해 전송되는 영상 데이터를 수신하기 위한 수신 유닛, 상기 수신된 영상 데이터를 복호화하여 재구성 영상 데이터를 생성하여 출력하기 위한 복호화 유닛을 포함하고, 상기 복호화 유닛은 출력되는 프레임이 장면 전환 프레임인 경우에는 이전에 출력한 장면 전환 프레임이 아닌 프레임의 영상을 반복하여 출력한다.According to another aspect of the present invention, there is provided a receiving apparatus of a video communication system, including: a receiving unit for receiving image data transmitted through a transmission channel, and reconstructed image data by decoding the received image data. And a decoding unit for generating and outputting a signal, and when the output frame is a scene change frame, the decoding unit repeatedly outputs an image of a frame that is not a previously output scene change frame.
상기 실시예의 일 측면에 의하면, 상기 수신 유닛이 수신하는 상기 영상 데이터는 해당 프레임이 장면 전환 프레임인지를 지시하기 위한 플래그 정보를 포함하고, 상기 복호화 유닛은 상기 플래그 정보에 기초하여 현재 프레임의 영상 또는 이전 프레임의 영상을 출력할 수 있다. 또한, 상기 복호화 유닛은 복호화된 상기 영상 데이터가 현재 프레임의 마지막 매크로블록에 대한 데이터이고, 상기 마지막 매크로블록에 대한 부호화 모드 정보에 기초하여 상기 현재 프레임이 장면 전환 프레임인지를 판정하며, 상기 디스플레이 유닛은 상기 복호화 유닛에서의 판정 결과에 기초하여 현재 프레임의 영상 또는 이전 프레임의 영상을 재생할 수 있다.According to an aspect of the embodiment, the image data received by the receiving unit includes flag information for indicating whether the corresponding frame is a scene change frame, and the decoding unit may include an image of the current frame or The image of the previous frame can be output. The decoding unit may determine whether the decoded image data is data for a last macroblock of a current frame, and whether the current frame is a scene change frame based on encoding mode information for the last macroblock. May reproduce the image of the current frame or the image of the previous frame based on the determination result in the decoding unit.
상기한 해결 과제를 달성하기 위한 본 발명의 일 실시예에 따른 영상 통신 시스템을 위한 영상 부호화 방법은 매크로블록 라인 단위로 입력되며 또한 인터모드(Inter-Mode)인 현재 프레임의 입력 영상 데이터를 부호화하기 위한 부호화 단계와 N(N은 2이상의 자연수)개의 블록 그룹으로 분할되어 구성된 상기 현재 프레임에 대하여 상기 부호화 단계에서 부호화가 수행된 k(1≤k≤N-1)번째 블록 그룹까지의 영상 데이터에 기초하여 상기 현재 프레임이 장면 전환 프레임에 해당되는지를 판정하기 위한 장면 전환 판정 단계를 포함하고, 상기 부호화 단계에서는 상기 현재 프레임이 장면 전환 프레임이 아닌 것으로 판정되는 경우에는 상기 현재 프레임 전체에 대하여 부호화를 수행하지만, 상기 k번째 블록 그룹까지의 영상 데이터에 의하여 상기 현재 프레임이 장면 전환 프레임인 것으로 판정되는 경우에는 (k+1)번째 블록 그룹부터 N번째 블록 그룹에 속하는 영상에 대해서는 부호화를 수행하지 않는다.The video encoding method for a video communication system according to an embodiment of the present invention for achieving the above-mentioned problems is to encode the input image data of the current frame which is input in units of macroblock lines and is also inter-mode (Inter-Mode) Image data up to the k (1≤k≤N-1) th block group in which the encoding step is performed in the encoding step for the current frame that is divided into a coding step and N (N is a natural number of two or more) block groups. And a scene change determination step for determining whether the current frame corresponds to a scene change frame, and in the encoding step, if it is determined that the current frame is not a scene change frame, encoding is performed on the entire current frame. However, the current frame is determined by the image data up to the k-th block group. If it is determined that the side switch frame (k + 1) does not carry out the image coding for belonging to the second group of blocks from the N-th group of blocks.
상기한 해결 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 영상 통신 시스템을 위한 영상 복호화 방법은 전송 채널을 통해 전송되는 영상 데이터를 수신하는 수신 단계 및 상기 수신된 영상 데이터를 복호화하여 재구성 영상 데이터를 생성하여 출력하기 위한 복호화 단계를 포함하고, 상기 복호화 단계에서는 재생하고자 하는 프레임이 장면 전환 프레임인 경우에는 이전에 재생한 장면 전환 프레임이 아닌 프레임의 영상을 반복하여 출력한다.According to another aspect of the present invention, there is provided a video decoding method for a video communication system, the receiving step of receiving image data transmitted through a transmission channel and the reconstructed image data by decoding the received image data. And a decoding step for generating and outputting the data. In the decoding step, when the frame to be played is a scene change frame, the image of a frame other than the previously played scene change frame is repeatedly output.
본 발명의 실시예에 의하면, 영상 통신 시스템의 송신측 장치의 버퍼에서의 넘침이나 버퍼링에 따른 전송 지연의 문제와 전송 채널에서의 전송 지연 문제가 발생하는 것을 방지할 수 있을 뿐만 아니라 재생 영상의 화질을 일정한 수준 이상으로 보장할 수 있다.According to an embodiment of the present invention, it is possible to prevent the occurrence of transmission delay problems due to overflow or buffering in the buffer of the transmitting device of the video communication system and transmission delay problems in the transmission channel, as well as the quality of the playback image. Can be guaranteed above a certain level.
도 1은 본 발명의 일 실시예에 따른 실시간 영상 통신 시스템의 구성을 보여 주는 블록도이다.1 is a block diagram showing the configuration of a real-time video communication system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 블록 그룹 기반 부호화 방식을 보여 주는 블록도이다.2 is a block diagram illustrating a block group based encoding method according to an embodiment of the present invention.
도 3은 본 발명의 다른 실시예에 따른 블록 그룹 기반 부호화 방식을 보여 주는 블록도이다.3 is a block diagram illustrating a block group based encoding method according to another embodiment of the present invention.
도 4는 도 2에 도시된 방식에 따라 부호화된 경우에 본 발명의 일 실시예에 따른 디스플레이 방식을 보여 주는 블록도이다.4 is a block diagram illustrating a display method according to an embodiment of the present invention when encoded according to the method shown in FIG. 2.
도 5는 도 3에 도시된 방식에 따라 부호화된 경우에 본 발명의 일 실시예에 따른 디스플레이 방식을 보여 주는 블록도이다.FIG. 5 is a block diagram illustrating a display method according to an embodiment of the present invention when encoded according to the method shown in FIG. 3.
도 6은 본 발명의 실시예에 따라서 제안된 알고리즘과 기존의 TMN8에 따른 알고리즘을 적용한 경우의 비트발생량을 비교해서 보여주는 그래프이다.FIG. 6 is a graph illustrating a comparison of bit generation rates when a proposed algorithm and an existing algorithm according to TMN8 are applied according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따라서 제안된 알고리즘과 기존의 TMN8에 따른 알고리즘을 적용한 경우의 PSNR을 비교해서 보여주는 그래프이다.7 is a graph showing a comparison of the PSNR in the case of applying the proposed algorithm according to the embodiment of the present invention and the conventional algorithm according to TMN8.
이하에서는 첨부 도면을 참조하여 본 발명의 실시예에 대하여 상세하게 설명한다. 후술하는 실시예는 본 발명의 기술적 사상을 설명하기 위한 목적으로 개시되는 것이며, 이 실시예에 의하여 본 발명의 기술적 사상이 한정되는 것으로 해석되어서는 안 된다. 그리고 이하의 실시예의 설명에서 각각의 구성요소의 명칭은 당업계에서 다른 명칭으로 호칭될 수 있다. 마찬가지로, 도면상의 구성을 일부 변형하는 것도 기능적 유사성이나 동일성이 있다면, 본 실시예에 개시된 도면의 구성과 실질적으로 동일하다고 볼 수 있다. 도면과 실시예에 대한 설명에서 부가된 참조 번호는 단지 설명의 편의를 위한 것으로서, 명세서 전체에 걸쳐서 동일한 참조 번호는 동일한 구성요소를 나타낸다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention. The embodiments described below are disclosed for the purpose of illustrating the technical idea of the present invention, and should not be construed as limiting the technical idea of the present invention. And the names of each component in the description of the following embodiments may be called other names in the art. Similarly, some modifications to the configuration on the drawings may be regarded as substantially the same as the configuration on the drawings disclosed in the present embodiment, provided that the functional similarity or the same. Reference numerals added in the drawings and descriptions of the embodiments are only for convenience of description, and like reference numerals denote like elements throughout the specification.
도 1은 본 발명의 일 실시예에 따른 실시간 영상 통신 시스템의 구성을 보여 주는 블록도이다. 도 1을 참조하면, 실시간 영상 통신 시스템은 송신측 장치(100)와 수신측 장치(200)를 포함하며, 송신측 장치(100)로부터 수신측 장치(200)로의 영상 및 음성 데이터의 전송은 유, 무선의 전송 채널을 통해서 이루어진다. 이하에서는 음성 데이터를 제외한 영상 데이터의 부호화 및 전송에 대해서만 설명하는데, 그 이유는 본 발명이 장면 전환 프레임과 관련되어 있기 때문이다. 따라서 후술하는 실시예에서 음성 데이터는 종래와 동일한 방법으로 부호화되고 또한 전송될 수 있으며, 그 방법에 있어서 아무런 제한도 없다. 1 is a block diagram showing the configuration of a real-time video communication system according to an embodiment of the present invention. Referring to FIG. 1, a real-time video communication system includes a transmitting device 100 and a receiving device 200, and transmission of video and audio data from the transmitting device 100 to the receiving device 200 is maintained. This is accomplished through a wireless transmission channel. The following describes only encoding and transmission of video data excluding audio data, since the present invention is related to a scene change frame. Therefore, in the embodiments described below, voice data can be encoded and transmitted in the same manner as in the prior art, and there is no limitation in the method.
송신측 장치(100)는 부호화 유닛(Encoding Unit, 110), 비트율 제어 유닛(Bit-rate Controlling Unit, 120), 및 송신 유닛(Transmitting Unit, 130)을 포함한다. 송신측 장치(100)의 부호화 유닛(110)으로 입력되는 영상 신호(입력 영상)는 카메라(도시하지 않음)를 이용하여 획득할 수 있지만, 여기에만 한정되는 것은 아니다. 예를 들어, 입력 영상은 저장 매체에 미리 저장되어 있는 영상이거나 또는 다른 전송 채널을 통하여 수신된 영상일 수도 있다. 카메라를 이용하여 입력 영상을 획득하는 경우에, 상기 카메라는 송신측 장치(100)와 결합되어 구비되거나 또는 분리되어 별개의 구성 요소로 구비될 수도 있다. 그리고 카메라 등에 의하여 획득한 입력 영상의 영상 복잡도에 관한 정보는 비트율 제어 유닛(120)으로 전송된다.The transmitting device 100 includes an encoding unit 110, a bit-rate controlling unit 120, and a transmitting unit 130. An image signal (input image) input to the encoding unit 110 of the transmitting device 100 may be obtained using a camera (not shown), but is not limited thereto. For example, the input image may be an image previously stored in the storage medium or an image received through another transmission channel. When acquiring an input image using a camera, the camera may be provided in combination with the transmitting device 100 or may be provided as a separate component. The information about the image complexity of the input image acquired by the camera or the like is transmitted to the bit rate control unit 120.
본 실시예의 일 측면에 의하면, 카메라 등에 의해 획득한 입력 영상 데이터는 매크로블록 라인 단위로 부호화 유닛(110)으로 입력될 수 있다. 그리고 입력 영상의 영상 복잡도에 관한 정보 등도 매크로블록 라인 단위로 비트율 제어 유닛(120)으로 입력될 수 있다. 이와 같이, 부호화 유닛(110) 등으로 영상 데이터가 매크로블록 단위로 입력하면, 비트율 제어를 매크로블록 라인 단위로 수행할 수가 있다. According to an aspect of the present embodiment, input image data obtained by a camera or the like may be input to the encoding unit 110 in units of macroblock lines. Information on image complexity of the input image may also be input to the bit rate control unit 120 in units of macroblock lines. As such, when image data is input in macroblock units using the encoding unit 110 or the like, bit rate control may be performed in macroblock line units.
부호화 유닛(110)은 매크로블록 라인 단위로 입력되는 영상을 매크로블록 단위나 또는 그 보다 작은 소정 크기의 블록 단위로 압축 및 부호화하기 위한 수단으로서, 입력 영상에 적용되는 코덱 방식에는 특별한 제한이 없다. 예를 들어, 상기 부호화 유닛(110)에서는 H.261, H.263, H.264/AVC, MPEG-1, MPEG-4, MPEG-4, 또는 VC-1 등과 같은 현재까지 알려져 있는 모든 영상 압축 부호화와 관련된 국제 표준에 규정되어 있는 부호화 방식 중의 어느 한 가지 방식이 사용되거나 또는 이와는 다른 새로운 방식이 사용될 수도 있다. The encoding unit 110 is a means for compressing and encoding an image input in units of macroblock lines in units of macroblocks or smaller blocks having a predetermined size, and there is no particular limitation on a codec method applied to an input image. For example, in the encoding unit 110, all image compressions known to date such as H.261, H.263, H.264 / AVC, MPEG-1, MPEG-4, MPEG-4, or VC-1, etc. Any one of the encoding schemes defined in the international standard related to the encoding may be used, or a different new scheme may be used.
그리고 본 발명의 실시예에 따른 부호화 유닛(110)은 입력 영상의 1번 프레임은 인트라 모드(Intra Mode)로 부호화를 수행하지만, 1번 프레임을 제외한 나머지 프레임은 인터 모드(Inter Mode)로 부호화할 수 있다. 또는 실시예에 따라서는 입력 영상에 대하여 소정의 간격으로 어느 하나의 프레임에 대해서는 인트라 모드로 부호화를 수행하고, 그 이외의 프레임은 모두 인터 모드로 부호화를 수행할 수도 있다. 그리고 인터 모드로 부호화하는 경우에 기존의 코덱 절차에 정의되어 있는 것과 유사하게 직전의 여러 가지 프레임들 중에서 임의의 프레임을 참조 프레임으로 하여 움직임 추정 및 보상을 통한 부호화를 수행하거나 또는 현재 프레임과 그 직전 프레임과의 차분값으로 구성된 차분 프레임을 피부호화 프레임으로 하여 부호화를 수행할 수 있는데, 본 발명의 실시예에서는 후자의 경우가 보다 바람직하다.The encoding unit 110 according to an embodiment of the present invention encodes the first frame of the input image in the intra mode, but encodes the remaining frames except the first frame in the inter mode. Can be. Alternatively, according to an exemplary embodiment, encoding of one frame may be performed in an intra mode at a predetermined interval with respect to the input image, and all other frames may be encoded in an inter mode. In the case of encoding in the inter mode, encoding is performed through motion estimation and compensation using an arbitrary frame as a reference frame among various frames immediately before, similar to that defined in the existing codec procedure, or the current frame and the immediately preceding frame. The encoding may be performed by using a difference frame composed of a difference value with the frame as a skin encoding frame. In the embodiment of the present invention, the latter case is more preferable.
그리고 부호화 유닛(110)은 피부호화 프레임이 장면 전환 프레임인지를 판정하기 위한 수단, 예컨대 장면 전환 판정부(112)를 포함할 수 있다. 장면 전환 판정부(112)는 현재 프레임의 영상과 직전 프레임의 영상을 이용하여, 부호화 유닛(110)으로 입력되는 프레임이 장면 전환 프레임에 해당되는지를 판별하기 위한 수단이다. 이러한 장면 전환 판정부(112)는 실질적인 장면 전환만을 검출하는 것이 아니라 비록 장면 전환은 아니더라도 현재 프레임과 직전 프레임 사이의 상관성이 낮은 프레임도 장면 전환 프레임으로 판별하도록 할 수 있다.The encoding unit 110 may include a means for determining whether the skin encoded frame is a scene change frame, for example, the scene change determiner 112. The scene change determination unit 112 is means for determining whether a frame input to the encoding unit 110 corresponds to a scene change frame by using the image of the current frame and the image of the previous frame. The scene change determination unit 112 may not only detect the actual scene change but may also determine a frame having a low correlation between the current frame and the previous frame even if not the scene change as the scene change frame.
본 발명의 실시예에 의하면, 이러한 장면 전환 판정부(112)는 블록 그룹(Group of Blocks, GOB) 단위로 장면 전환 여부를 판정할 수도 있다. GOB 단위로 장면 전환 여부를 판정한다는 것은, 프레임의 2개 이상의 블록 그룹으로 구획한 다음, 소정의 블록 그룹까지 부호화된 영상 데이터를 이용하여 해당 프레임이 장면 전환 프레임에 해당되는지를 판정하는 것을 의미한다. 즉, 첫 번째 블록 그룹까지의 부호화 결과에 기초하여 현재 프레임이 장면 전환 프레임인지를 판정하고, 만일 첫 번째 블록 그룹까지의 부호화 결과에 의하여 현재 프레임이 장면 전환 프레임이 아닌 것으로 판정되는 경우에는 두 번째 블록 그룹까지의 부호화 결과에 기초하여 장면 전환 프레임인지를 판정한다. 반면, 첫 번째 블록 그룹까지의 부호화 결과에 의하여 장면 전환 프레임인 것으로 판정된 경우에는, 그 이후의 블록 그룹에 대해서는 부호화를 수행하지 않는다. According to an embodiment of the present invention, the scene change determination unit 112 may determine whether to change scenes in units of a group of blocks (GOB). Determining whether or not to switch scenes in units of GOB means determining whether a corresponding frame corresponds to a scene change frame by dividing into two or more block groups of a frame and then using image data encoded up to a predetermined block group. . That is, it is determined whether the current frame is a scene change frame based on the encoding result up to the first block group, and if it is determined that the current frame is not a scene change frame by the encoding result up to the first block group, It is determined whether or not it is a scene change frame based on the encoding result up to the block group. On the other hand, when it is determined that the scene is a transition frame based on the encoding result up to the first block group, the encoding is not performed on the subsequent block group.
이와 같이, 블록 그룹 단위의 판정을 위해서는, 하나의 프레임을 다수, 예컨대 M개의 블록 그룹으로 분할한다. 여기서, M은 2이상이다. 이 경우에, 동일한 프레임 내의 각 블록 그룹은 그 크기가 동일할 수 있지만, 그 크기가 서로 상이할 수도 있다. 예컨대, 통상적으로 물체는 영상의 가장자리보다는 영상의 가운데에 위치하므로, 양 끝에 위치하는 블록 그룹보다 가운데 위치하는 블록 그룹의 크기가 더 작도록 프레임을 다수의 블록 그룹으로 분할할 수도 있다. 또한, 프레임에 따라서 분할되는 블록 그룹의 개수도 반드시 동일할 필요는 없다.In this way, for determination in units of block groups, one frame is divided into a plurality of block groups, for example, M blocks. Here, M is two or more. In this case, each block group in the same frame may have the same size but different sizes. For example, since an object is generally located at the center of the image rather than the edge of the image, the frame may be divided into a plurality of block groups so that the size of the block group located at the center is smaller than the block group at both ends. In addition, the number of block groups divided according to frames does not necessarily need to be the same.
그리고 하나의 프레임을 몇 개의 블록 그룹으로 분할하는지도 특별한 제한은 없는데, 2개 내지 10개의 블록 그룹, 바람직하게는 3개 내지 5개의 블록 그룹으로 분할할 수 있다. 왜냐하면, 2개의 블록 그룹으로 분할하는 경우는 본 발명의 효과를 충분히 달성하기 어려운 단점이 있으며, 5개를 초과하는 블록 그룹으로 분할하는 경우에는 수신측 장치에서 이전 프레임을 반복하여 재생하는 횟수가 증가하는 단점이 있기 때문이다.There is no particular limitation on how many blocks are divided into one frame group, but it may be divided into two to ten block groups, preferably three to five block groups. This is because, in the case of dividing into two block groups, it is difficult to fully achieve the effects of the present invention. In the case of dividing into more than five block groups, the number of times the previous frame is repeatedly played by the receiving device increases. This is because there is a disadvantage.
본 실시예의 일 측면에 의하면, 장면 전환 판정부(112)는 현재 프레임의 영상과 직전 프레임의 영상의 차분값으로 이루어진 차분 프레임 또는 현재 프레임의 영상과 직전 프레임의 재구성된 영상의 차분값으로 이루어진 차분 프레임을 이용하여, 현재 프레임이 장면 전환 프레임에 해당되는지를 판별할 수 있다. 또는, 장면 전환 판정부(112)는 현재 영상과 이전 영상 사이의 영상 정보의 통계적 특성을 이용하여 장면 전환 여부를 판정할 수 있으며, 본 발명의 실시예에서는 기존의 공지된 방법들 중에서 어떤 방법을 사용할지에 대한 특별한 제한은 없다. 기존의 공지된 방법으로서, 예컨대 Difference of Gray-level Sums, Sum of Gray-level Differences, Difference of Gray-level Histograms, Colored Template Matching, Difference of Color Histograms and Comparison of Color Histograms 방법이나 또는 Brightness Difference of Histograms and Pixels between Successive Frames 방법이나 또는 Variance of DC coefficients and Motion Vectors to Analyze Scene Changes 방법이나 또는 Count the Number of Valid Motion Vectors in Predictive-coded Pictures or P-pictures and Bidirectionally Predictive-coded Pictures or B-pictures 방법이나 또는 DC Image Sequences to Analyze Scene Changes 방법 등이 있으며, 여기에만 한정되는 것은 아니다.According to an aspect of the present embodiment, the scene change determination unit 112 is a difference frame consisting of the difference value of the image of the current frame and the image of the previous frame or the difference consisting of the difference value of the reconstructed image of the image of the current frame and the previous frame The frame may be used to determine whether the current frame corresponds to the scene change frame. Alternatively, the scene change determination unit 112 may determine whether to change scenes by using statistical characteristics of image information between the current image and the previous image. In an embodiment of the present invention, any method among the known methods may be used. There is no special restriction as to whether to use it. Existing known methods include, for example, Difference of Gray-level Sums, Sum of Gray-level Differences, Difference of Gray-level Histograms, Colored Template Matching, Difference of Color Histograms and Comparison of Color Histograms or Brightness Difference of Histograms and Pixels between Successive Frames or Variance of DC coefficients and Motion Vectors to Analyze Scene Changes or Count the Number of Valid Motion Vectors in Predictive-coded Pictures or P-pictures and Bidirectionally Predictive-coded Pictures or B-pictures DC Image Sequences to Analyze Scene Changes, and so on.
이하, 도 1과 함께 도 2 또는 도 3을 참조하여, 하나의 프레임을 그 크기가 같은 3개의 블록 그룹으로 분할하는 경우를 예로 들어서 본 발명의 실시예에 대하여 구체적으로 설명한다. 도 2 및 도 3은 각각 본 발명의 일 실시예에 따른 블록 그룹 기반의 장면 전환 프레임 판정을 포함하는 부호화 방식을 보여 주는 블록도이다. 여기서, 프레임 번호 1 내지 5는 모두 인터 모드로 부호화되는 프레임들이다.Hereinafter, an example of dividing a frame into three block groups having the same size will be described in detail with reference to FIG. 2 or 3 along with FIG. 1. FIG. 2 and 3 are block diagrams each illustrating an encoding scheme including block group based scene change frame determination according to an embodiment of the present invention. Here, the frame numbers 1 to 5 are all frames encoded in the inter mode.
우선 도 1 및 도 2를 참조하면, 1번 프레임의 영상 데이터가 매크로블록 라인 단위로 순차적으로 입력되면, 부호화 유닛(110)은 우선 입력되는 영상 데이터에 대하여 해당 매크로블록에 대응하는 이전 프레임의 매크로블록과의 SAD(Sum of Absolute Difference)를 계산하여 이를 저장한다. 이러한 과정은 1번 프레임의 첫 번째 블록 그룹 내의 모든 매크로블록 라인까지 순차적으로 진행된다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 계산된 첫 번째 블록 그룹까지의 SAD의 평균값을 구하고, 현재 프레임이 장면 전환 프레임인지를 판정한다. 예를 들어, SAD의 평균값이 소정의 임계치보다 작은지 또는 큰지를 비교하여, 전자의 경우에는 장면 전환 프레임이 아닌 것으로 판정하고, 후자의 경우에는 장면 전환 프레임인 것으로 판정할 수도 있다. 여기서, 소정의 임계치는 버퍼의 용량이나 전송 채널의 용량 등을 고려하여 결정하거나 또는 실험적으로 결정되는 장면 전환 프레임인지를 판정하는데 기준이 되는 값으로서, 그 값에 특별한 제한은 없다.1 and 2, when image data of frame 1 is sequentially input in macroblock line units, the encoding unit 110 may first input a macro of a previous frame corresponding to the macroblock with respect to the input image data. The SAD (Sum of Absolute Difference) with the block is calculated and stored. This process proceeds sequentially to all macroblock lines in the first block group of frame 1. The scene change determination unit 112 of the encoding unit 110 obtains an average value of the SADs up to the calculated first block group, and determines whether the current frame is a scene change frame. For example, by comparing whether the average value of the SAD is smaller or larger than a predetermined threshold, it may be determined that the former is not a scene change frame, and the latter may be determined to be a scene change frame. Here, the predetermined threshold is a value used as a reference for determining whether or not the scene change frame is determined in consideration of the capacity of the buffer, the capacity of the transmission channel, or the like, or is experimentally determined.
만일, 첫 번째 블록 그룹을 이용하여 현재 프레임이 장면 전환 프레임이 아닌 것으로 판정된 경우에는, 현재 프레임의 두 번째 블록 그룹에 대해서도 상기 두 번째 블록 그룹에 대응하는 이전 프레임과의 SAD를 계산하여 이를 저장한다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 두 번째 블록 그룹까지(첫번째, 두번째 블록 그룹)의 SAD의 평균값을 계산하여, 소정의 임계치와 비교함으로써 현재 프레임이 장면 전환 프레임인지를 판정한다. 판정 결과, 장면 전환 프레임이 아닌 것으로 판정되는 경우에는, 나머지 블록 그룹들에 대해서도 이전 블록 그룹에서와 동일한 방법으로 SAD의 계산 및 장면 전환 프레임의 판정 등을 수행한다. 본 실시예에서는 1번 프레임은 최종적으로 장면 전환 프레임이 아닌 것으로 판정되어, 기존의 방식과 마찬가지로 프레임 전체가 인터 모드로 부호화되는 경우이다.If it is determined that the current frame is not a scene change frame using the first block group, the SAD of the second block group of the current frame and the previous frame corresponding to the second block group are calculated and stored. do. The scene change determination unit 112 of the encoding unit 110 calculates an average value of the SADs up to the second block group (first and second block groups), and compares it with a predetermined threshold to determine whether the current frame is a scene change frame. do. As a result of the determination, when it is determined that the image is not a scene change frame, the calculation of the SAD, determination of the scene change frame, etc. are performed for the remaining block groups in the same manner as in the previous block group. In the present embodiment, frame 1 is finally determined not to be a scene change frame, and as in the conventional method, the entire frame is encoded in the inter mode.
계속해서 도 1 및 도 2를 참조하면, 2번 프레임에 대해서도 동일한 방법으로 블록 그룹 단위로 부호화를 완료한 후에 장면 전환 프레임에 해당되는지를 판단한다. 보다 구체적으로, 2번 프레임의 영상 데이터가 매크로블록 라인 단위로 순차적으로 입력되면, 부호화 유닛(110)은 우선 입력되는 영상 데이터에 대하여 해당 매크로블록에 대응하는 이전 프레임의 매크로블록과의 SAD를 계산하여 이를 저장한다. 이러한 과정은 2번 프레임의 첫 번째 블록 그룹 내의 모든 매크로블록 또는 매크로블록 라인까지 순차적으로 진행된다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 첫 번째 블록 그룹까지의 SAD의 평균값을 구한 후에, 현재 프레임이 장면 전환 프레임인지를 판정한다. 예를 들어, 첫 번째 블록 그룹까지의 SAD의 평균값이 소정의 임계치 이상이 되는 경우에는, 장면 전환 판정부(112)는 현재 프레임이 장면 전환 프레임인 것으로 판단한다. 그리고 이 경우에 부호화 유닛(110)은 현재 프레임의 나머지 블록 그룹들(즉, 두 번째 및 세 번째 블록 그룹들)에 대해서는 더 이상 부호화를 수행하지 않고 스킵한다(즉, 현재 프레임의 나머지 블록 그룹들에 포함되는 매크로블록의 COD(Coded or Not-coded)를 '1'로 한다).Subsequently, referring to FIG. 1 and FIG. 2, it is determined whether the frame corresponds to a scene change frame after the encoding is completed in the block group unit in the same manner with respect to the second frame. More specifically, when the image data of frame 2 is sequentially input in units of macroblock lines, the encoding unit 110 first calculates an SAD with the macroblock of the previous frame corresponding to the macroblock with respect to the input image data. Save it. This process proceeds sequentially up to all macroblocks or macroblock lines in the first block group of frame two. The scene change determination unit 112 of the encoding unit 110 determines whether the current frame is a scene change frame after obtaining the average value of the SADs up to the first block group. For example, when the average value of the SADs up to the first block group is equal to or greater than a predetermined threshold value, the scene change determination unit 112 determines that the current frame is a scene change frame. In this case, the encoding unit 110 skips the remaining block groups of the current frame (that is, the second and third block groups) without performing encoding anymore (that is, the remaining block groups of the current frame). COD (Coded or Not-coded) of the macroblock included in the value is set to '1'.
계속해서, 3번 프레임에 대해서도 동일한 방법으로 블록 그룹 단위로 부호화를 완료한 후에 장면 전환 프레임에 해당되는지를 판단한다. 보다 구체적으로, 3번 프레임의 영상 데이터가 매크로블록 라인 단위로 순차적으로 입력되면, 부호화 유닛(110)은 우선 입력되는 영상 데이터에 대하여 해당 매크로블록에 대응하는 이전 프레임의 매크로블록과의 SAD를 계산하여 이를 저장한다. 이러한 과정은 3번 프레임의 첫 번째 블록 그룹 내의 모든 매크로블록 라인까지 순차적으로 진행된다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 첫 번째 블록 그룹까지의 SAD의 평균값을 구하여 3번 프레임이 장면 전환 프레임인지를 판단한다. 다만, 본 실시예에서는 2번 프레임의 첫 번째 블록 그룹에서 상기 2번 프레임이 장면 전환 프레임으로 판정된 경우이므로, 상기 3번 프레임의 첫 번째 블록 그룹은 2번 프레임을 참조 프레임으로 하여 블록 그룹 기반 부호화를 수행하며, 3번 프레임의 두 번째 블록 그룹은 1번 프레임을 참조 프레임으로 블록 그룹 기반 부호화를 수행한다. 왜냐하면, 2번 프레임은 첫 번째 블록 그룹만 부호화되고, 나머지 블록 그룹은 부호화가 되지 않기 때문이다. 도 2를 참조하면, 3번 프레임은 두 번째 블록 그룹까지(첫번째, 두 번째 블록 그룹)의 SAD의 평균값을 이용한 판단 결과 장면 전환 프레임으로 판단되어서, 마지막 세 번째 블록 그룹에 대해서는 부호화를 수행하지 않는다(즉, 세 번째 블록 그룹에 포함되는 매크로블록은 모두 COD를 '1'로 한다).Subsequently, after encoding is completed in units of block groups in the same manner with respect to frame 3, it is determined whether the frame corresponds to a scene change frame. More specifically, when the image data of the third frame is sequentially input in units of macroblock lines, the encoding unit 110 first calculates an SAD with the macroblock of the previous frame corresponding to the macroblock with respect to the input image data. Save it. This process proceeds sequentially up to all macroblock lines in the first block group of frame 3. The scene change determination unit 112 of the encoding unit 110 obtains an average value of the SADs up to the first block group, and determines whether frame 3 is a scene change frame. However, in the present embodiment, since the frame 2 is determined as the scene change frame in the first block group of the frame 2, the first block group of the frame 3 is based on the block group based on the frame 2 as the reference frame. Encoding is performed, and the second block group of frame 3 performs block group based encoding on frame 1 as a reference frame. This is because frame 2 is only encoded with the first block group, and the remaining block groups are not encoded. Referring to FIG. 2, frame 3 is determined to be a scene change frame as a result of using the average value of the SADs up to the second block group (first and second block groups), and thus no encoding is performed on the last third block group. (I.e., all macroblocks included in the third block group have a COD of '1').
계속해서, 4번 프레임에 대해서도 동일한 방식으로 블록 그룹 단위로 부호화를 수행하고, 해당 블록 그룹까지의 SAD의 평균값을 구하여 4번 프레임이 장면 전환 프레임인지를 판단한다. 다만, 본 실시예에서는 2번 프레임의 첫 번째 블록 그룹에서 상기 2번 프레임이 장면 전환 프레임으로 판정되고, 3번 프레임의 두 번째 블록 그룹에서 상기 3번 프레임이 장면 전환 프레임으로 판정된 경우이므로, 상기 4번 프레임의 첫 번째 및 두 번째 블록 그룹은 3번 프레임을 참조 프레임으로 하여 블록 그룹 기반 부호화를 수행하며, 4번 프레임의 세 번째 블록 그룹은 1번 프레임을 참조 프레임으로 블록 그룹 기반 부호화를 수행한다. 왜냐하면, 본 발명의 실시예에 의하면, 2번 프레임과 3번 프레임의 세 번째 블록 그룹은 부호화가 되지 않기 때문이다. 도 2를 참조하면, 4번 프레임은 장면 전환 프레임으로 판단되지 않는 경우이므로(첫 번째, 두 번째 블록 그룹의 SAD값들이 작을 경우, 세 번째 블록 그룹까지의 SAD 평균 값은 임계치보다 작아 질 수 있고, 장면 전환 프레임이 아니라고 판단 될 수 있다.) 모든 블록 그룹에 대하여 부호화를 수행한다. 4번 프레임과 같이 장면 전환 프레임이 아닌 일반 프레임의 경우에는, 해당 매크로블록의 움직임 벡터가 (0,0)인지 또는 아닌지에 따라서, 그 매크로블록의 COD가 1 또는 0으로 처리되며, 움직임 벡터가 (0,0)이어서 COD가 1인 매크로블록은 해당 매크로블록 모드가 스킵 모드로 처리된다.Subsequently, encoding is performed in units of block groups in the same manner with respect to frame 4, and an average value of SADs to the corresponding block group is obtained to determine whether frame 4 is a scene change frame. However, in the present exemplary embodiment, the frame 2 is determined as the scene change frame in the first block group of frame 2, and the frame 3 is determined as the scene change frame in the second block group of frame 3, The first and second block groups of frame 4 perform block group based encoding using frame 3 as a reference frame, and the third block group of frame 4 performs block group based encoding using frame 1 as a reference frame. To perform. This is because, according to the embodiment of the present invention, the third block group of frame 2 and frame 3 is not encoded. Referring to FIG. 2, since frame 4 is not determined as a scene change frame (when the SAD values of the first and second block groups are small, the SAD average value up to the third block group may be smaller than the threshold value. It may be determined that this is not a scene change frame.) Encoding is performed on all block groups. In the case of a general frame that is not a transition frame such as frame 4, depending on whether or not the motion vector of the macroblock is (0,0), the COD of the macroblock is treated as 1 or 0, and the motion vector is Macroblocks with a COD of 1 after (0,0) are processed in the corresponding macroblock mode as a skip mode.
계속해서, 5번 프레임에 대해서도 동일한 방식으로 블록 그룹 단위로 부호화를 수행하고, 해당 블록 그룹까지의 SAD의 평균값을 구하여 5번 프레임이 장면 전환 프레임인지를 판단한다. 다만, 본 실시예에서는 4번 프레임이 장면 전환 프레임이 아닌 것으로 판정된 경우이므로, 상기 5번 프레임의 모든 블록 그룹은 4번 프레임을 참조 프레임으로 블록 그룹 기반 부호화를 수행한다. 도 2를 참조하면, 5번 프레임은 장면 전환 프레임으로 판단되지 않는 경우이므로 모든 블록 그룹에 대하여 부호화를 수행한다. Subsequently, encoding is performed in units of block groups in the same manner with respect to frame 5, and an average value of SADs to the corresponding block group is obtained to determine whether frame 5 is a scene change frame. However, in this embodiment, since it is determined that frame 4 is not a scene change frame, all block groups of frame 5 perform block group-based encoding on frame 4 as a reference frame. Referring to FIG. 2, since frame 5 is not determined to be a scene change frame, encoding is performed on all block groups.
계속해서 도 1 및 도 3을 참조하면, 부호화 유닛(110)은 하나의 매크로블록 라인씩 입력되는 영상 데이터에 대하여, 매크로블록 단위 또는 그 보다 작은 소정 크기의 블록 단위로 부호화를 수행한다. 그리고 부호화 유닛(110)은 1번 프레임의 첫 번째 블록 그룹까지 부호화를 하고 난 이후에는, 상기 첫 번째 블록 그룹에 대응하는 이전 프레임과의 SAD를 계산하여 이를 저장한다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 첫 번째 블록 그룹까지의 SAD의 평균값을 구하고, 현재 프레임이 장면 전환 프레임인지를 판정한다. 예를 들어, SAD의 평균값이 소정의 임계치보다 작은지 또는 큰지를 비교하여, 전자의 경우에는 장면 전환 프레임이 아닌 것으로 판정하고, 후자의 경우에는 장면 전환 프레임인 것으로 판정할 수도 있다.1 and 3, the encoding unit 110 encodes image data input by one macroblock line in units of macroblocks or smaller block sizes. After encoding the first block group of frame 1, the encoding unit 110 calculates and stores the SAD of the previous frame corresponding to the first block group. The scene change determination unit 112 of the encoding unit 110 obtains an average value of the SADs up to the first block group, and determines whether the current frame is a scene change frame. For example, by comparing whether the average value of the SAD is smaller or larger than a predetermined threshold, it may be determined that the former is not a scene change frame, and the latter may be determined to be a scene change frame.
만일, 첫 번째 블록 그룹을 이용하여 현재 프레임이 장면 전환 프레임이 아닌 것으로 판정된 경우에는, 현재 프레임의 두 번째 블록 그룹에 대해서도 상기 두 번째 블록 그룹에 대응하는 이전 프레임과의 SAD를 계산하여 이를 저장한다. 그리고 부호화 유닛(110)의 장면 전환 판정부(112)는 두 번째 블록 그룹까지의 SAD의 평균값을 구하여, 소정의 임계치와 비교함으로써 현재 프레임이 장면 전환 프레임인지를 판정한다. 판정 결과, 장면 전환 프레임이 아닌 것으로 판정되는 경우에는, 나머지 블록 그룹들에 대해서도 이전 블록 그룹에서와 동일한 방법으로 SAD의 계산 및 장면 전환 프레임의 판정 등을 수행한다. 본 실시예에서는 1번 프레임은 최종적으로 장면 전환 프레임이 아닌 것으로 판정되어, 기존의 방식과 마찬가지로 프레임 전체가 인터 모드로 부호화되는 경우이다.If it is determined that the current frame is not a scene change frame using the first block group, the SAD of the second block group of the current frame and the previous frame corresponding to the second block group are calculated and stored. do. The scene change determination unit 112 of the encoding unit 110 obtains an average value of the SADs up to the second block group, and compares it with a predetermined threshold to determine whether the current frame is a scene change frame. As a result of the determination, when it is determined that the image is not a scene change frame, the calculation of the SAD, determination of the scene change frame, etc. are performed for the remaining block groups in the same manner as in the previous block group. In the present embodiment, frame 1 is finally determined not to be a scene change frame, and as in the conventional method, the entire frame is encoded in the inter mode.
계속해서 도 1 및 도 3을 참조하면, 부호화 유닛(110)은 2번 프레임에 대해서도 매크로블록 단위로 순차적으로 부호화를 수행하고, 부호화 유닛(110)의 장면 전환 판정부(112)는 2번 프레임의 첫 번째 블록 그룹까지에 SAD의 평균값을 이용하여, 현재 프레임이 장면 전환 프레임인지를 판정한다. 예를 들어, 첫 번째 블록 그룹까지의 SAD의 평균값이 소정의 임계치보다 작은 경우에, 부호화 유닛(110)은 두 번째 블록 그룹에 대응하는 이전 프레임과의 SAD를 계산하고, 첫 번째 블록 그룹과 두 번째 블록 그룹의 SAD 평균값을 구한 후에, 현재 프레임이 장면 전환 프레임인지를 판정한다. 판단 결과, 두 번째 블록 그룹까지의 SAD 평균값이 소정의 임계치 이상인 경우에는, 장면 전환 판정부(112)는 현재 프레임이 장면 전환 프레임인 것으로 판단한다. 그리고 이 경우에 부호화 유닛(110)은 현재 프레임의 나머지 블록 그룹들(즉, 세 번째 블록 그룹)에 대해서는 더 이상 부호화를 수행하지 않고 스킵한다(즉, 현재 프레임의 세 번째 블록 그룹에 포함되는 매크로블록의 COD(Coded or Not-coded)를 '1'로 한다).1 and 3, the encoding unit 110 sequentially encodes frame 2 in macroblock units, and the scene change determination unit 112 of the encoding unit 110 performs frame 2. The average value of the SAD up to the first block group of is used to determine whether the current frame is a scene change frame. For example, when the average value of the SADs up to the first block group is smaller than a predetermined threshold, the encoding unit 110 calculates the SAD with the previous frame corresponding to the second block group, After obtaining the SAD average value of the first block group, it is determined whether the current frame is a scene change frame. As a result of the determination, when the SAD average value up to the second block group is equal to or greater than a predetermined threshold value, the scene change determination unit 112 determines that the current frame is a scene change frame. In this case, the encoding unit 110 skips the remaining block groups (ie, the third block group) of the current frame without performing encoding anymore (ie, a macro included in the third block group of the current frame). Set the block's COD (Coded or Not-coded) to '1'.
계속해서, 3번 프레임에 대해서도 동일한 방식으로 블록 그룹 단위로 장면 전환 프레임 여부를 판정하는데, 해당 블록 그룹까지의 SAD의 평균값을 구하여 3번 프레임이 장면 전환 프레임인지를 판단한다. 다만, 본 실시예에서는 2번 프레임의 두 번째 블록 그룹에서 상기 2번 프레임이 장면 전환 프레임으로 판정된 경우이므로, 상기 3번 프레임의 첫 번째 블록 그룹과 두 번째 블록 그룹은 2번 프레임을 참조 프레임으로 하여 부호화를 수행하여 장면 전환 프레임인지 여부를 판정하며, 3번 프레임의 세 번째 블록 그룹은 1번 프레임을 참조 프레임으로 블록 그룹 기반 부호화를 수행한다. 왜냐하면, 2번 프레임은 첫 번째와 두 번째 블록 그룹만 부호화되고, 세 번째 블록 그룹은 부호화가 되지 않기 때문이다.Subsequently, it is determined whether frame 3 is a scene change frame in units of block groups in the same manner with respect to frame 3, and an average value of SADs to the corresponding block group is obtained to determine whether frame 3 is a scene change frame. However, in the present embodiment, since the frame 2 is determined as the scene change frame in the second block group of the frame 2, the first block group and the second block group of the frame 3 refer to the frame 2 as a reference frame. Encoding is performed to determine whether it is a scene change frame, and the third block group of frame 3 performs block group based encoding on frame 1 as a reference frame. This is because in frame 2, only the first and second block groups are encoded, and the third block group is not encoded.
계속해서, 4번 프레임과 5번 프레임에 대해서도 순차적으로 동일한 방식으로 매크로블록 단위 또는 소정 크기의 블록 단위로 순차적으로 부호화를 수행하고, 해당 블록 그룹까지의 SAD의 평균값을 이용하여 4번 프레임 또는 5번 프레임이 장면 전환 프레임인지를 판단한다. 다만, 본 실시예에서는 3번 프레임이 장면 전환 프레임이 아닌 것으로 판정된 경우이므로, 상기 4번 프레임의 모든 블록 그룹은 3번 프레임을 참조 프레임으로 부호화 및 장면 전환 여부 판정을 수행하고, 5번 프레임의 모든 블록 그룹은 4번 프레임을 참조 프레임으로 부호화 및 장면 전환 여부 판정을 수행한다. 도 3를 참조하면, 4번 및 5번 프레임은 장면 전환 프레임으로 판단되지 않는 경우이므로 모든 블록 그룹에 대하여 부호화를 수행한다.Subsequently, frames 4 and 5 are sequentially encoded in macroblock units or blocks of a predetermined size in the same manner, and frame 4 or 5 using the average value of SADs to the corresponding block group. It is determined whether the first frame is a scene change frame. However, in the present embodiment, since it is determined that frame 3 is not a scene change frame, all block groups of frame 4 encode frame 3 as a reference frame and determine whether to change scenes, and frame 5 All of the block groups in the A-frame encode frame 4 as a reference frame and determine whether to switch scenes. Referring to FIG. 3, since frames 4 and 5 are not determined to be scene change frames, encoding is performed on all block groups.
그리고 전술한 본 발명의 실시예에 따라서 현재 프레임이 장면 전환 프레임인 것으로 판정되는 경우에는, 부호화 유닛(110)은 이러한 사실을 지시하는 정보(예컨대, 장면 전환 지시 플래그)를 전송하고자 하는 비트스트림에 포함시킬 수 있다. 이것은 장면 전환 프레임에 관한 정보를 수신측 장치(200)로 알려줌으로써, 후술하는 바와 같이, 장면 전환 프레임이 있는 경우의 부호화 방식에 대응하여 적응적으로 복호화를 수행할 수 있도록 하기 위해서이다. 그리고 실시예에 따라서는 현재 프레임이 장면 전환 프레임이라는 것을 지시하는 정보는 비트율 제어 유닛(120)으로도 전송될 수 있는데, 이 경우에 비트율 제어 유닛(120)은 수신된 장면 전환 프레임 지시 정보도 비트율을 제어하는데 이용할 수 있다.When it is determined that the current frame is a scene change frame according to the above-described embodiment of the present invention, the encoding unit 110 transmits the information indicating the fact (for example, a scene change instruction flag) to a bitstream to be transmitted. Can be included. This is to inform the receiving apparatus 200 of the scene change frame so that decoding can be adaptively performed corresponding to an encoding method in the case where there is a scene change frame, as will be described later. In some embodiments, the information indicating that the current frame is a scene change frame may be transmitted to the bit rate control unit 120. In this case, the bit rate control unit 120 may also receive the received scene change frame indication information. Can be used to control
장면 전환이 발생한 프레임을 수신측 장치(200)의 복호화 유닛(220)으로 알려주기 위한 방법은 예를 들어, 다음의 두 가지가 있을 수 있다. For example, the following two methods may be used to inform the decoding unit 220 of the receiving side apparatus 200 of the scene change occurrence.
그 첫 번째 방법은 장면 전환 프레임인지를 묵시적으로 알려주는 방법으로서, 여러 가지 방법이 가능하다. 예를 들어, 블록 패턴을 정의해 놓고 그 블록 패턴에 매칭되는 프레임을 장면 전환된 프레임으로 복호기 측에 알려주는 방법이 있을 수 있다. 이러한 것의 일례로써, 부호화 유닛(110)에서 장면 전환이 된 프레임으로 판단된 프레임과 장면 전환이 아닌 프레임의 마지막 매크로블록을 강제로 서로 다른 부호화 모드를 부호화하는 방법이다. 예를 들어, 장면 전환 프레임인 경우에는 마지막 매크로블록을 무조건 인트라모드(Intra Mode)로 부호화하고, 장면 전환이 아닌 프레임에서는 마지막 매크로블록을 무조건 인터 모드(Inter Mode)로 부호화를 함으로써, 현재 프레임이 장면 전환 프레임인지를 알려줄 수 있다.The first method is to implicitly indicate whether or not a transition frame is made. There are various methods. For example, there may be a method of defining a block pattern and informing the decoder side of a frame matched with the block pattern as a scene-transformed frame. As an example of this, the encoding unit 110 forcibly encodes a different encoding mode between a frame determined as a frame to which the scene has been changed and the last macroblock of the frame other than the scene change. For example, in the case of a scene change frame, the last macroblock is unconditionally encoded in the intra mode, and in the non-scene change frame, the last macroblock is unconditionally encoded in the inter mode, so that the current frame is It can tell if it is a transition frame.
장면 전환이 발생한 프레임을 수신측 장치(200)의 복호화 유닛(220)으로 알려주기 위한 다른 한 가지 방법은 명시적인 방법을 사용하는 것으로서, 예컨대 데이터 신택스(Syntax)에 장면 전환을 알려주는 요소를 추가하는 방법이 있을 수 있다. 보다 구체적으로, 픽쳐 계층(Picture Layer)에 장면 전환 프레임인지를 알려 주기 위한 새로운 플래그(Flag)를 정의하고, 만일 현재 프레임이 장면 전환 프레임인 경우에는 해당 플래그를 '1'로 설정하고, 장면 전환 프레임이 아닌 경우에는 '0'으로 설정하도록 할 수도 있다. Another method for notifying the decoding unit 220 of the receiving apparatus 200 of the frame in which the scene change has occurred is to use an explicit method, for example, adding an element for notifying the scene change to the data syntax. There may be a way. More specifically, define a new flag (flag) to inform the Picture Layer whether a transition frame, and if the current frame is a transition frame, set the flag to '1', the transition If it is not a frame, it can be set to '0'.
계속해서 도 1을 참조하면, 비트율 제어 유닛(120)은 수신된 영상 복잡도 정보와 부호화 유닛(110)으로부터 수신되는 비트율 정보 등을 이용하여 부호화 유닛(110)에서의 부호화 결과 생성되는 부호화된 데이터의 비트스트림의 비트율을 제어한다. 예컨대, 비트율 제어 유닛(120)은 부호화 유닛(110)에서 부호화시에 사용하는 양자화 계수(Quantization Parameter, QP)의 크기를 조절함으로써, 비트율을 제어할 수 있다. 또한, 본 발명의 실시예의 일 측면에 의하면, 비트율 제어 유닛(120)은 장면 전환 프레임인지를 지시하는 정보도 양자화 계수의 크기를 결정하는 요소로써 이용할 수도 있다. 이러한 비트율 제어 과정은 매크로블록 라인 단위로 수행될 수 있다. 1, the bit rate control unit 120 uses the received image complexity information, the bit rate information received from the encoding unit 110, and the like to determine the encoded data generated as a result of the encoding in the encoding unit 110. Control the bit rate of the bitstream. For example, the bit rate control unit 120 may control the bit rate by adjusting the size of a quantization coefficient (QP) used in the encoding unit 110 at the time of encoding. In addition, according to an aspect of an embodiment of the present invention, the bit rate control unit 120 may also use information indicating whether a scene change frame is used as an element for determining the size of the quantization coefficient. This bit rate control process may be performed in units of macroblock lines.
송신 유닛(130)은 부호화 유닛(110)으로부터 수신된 데이터를 전송하기 위한 장치이다. 예컨대, 부호화 유닛(110)에서 생성되어 수신되는 비트스트림은 송신 유닛(130)의 부호기 버퍼를 통해 일시 저장되었다가 전송 채널을 통해 소정의 전송율로 수신측 장치(200)로 전송될 수 있다. 상기 비트스트림은 예컨대, 패킷 단위로 전송될 수 있으며, 전송 채널의 전송율도 일정하거나 또는 여러 가지 네트워크 상황에 따라서 가변적이 될 수도 있다.The transmitting unit 130 is an apparatus for transmitting the data received from the encoding unit 110. For example, the bitstream generated and received by the encoding unit 110 may be temporarily stored through the encoder buffer of the transmission unit 130 and then transmitted to the receiving side apparatus 200 at a predetermined transmission rate through the transmission channel. The bitstream may be transmitted in a packet unit, for example, and the transmission rate of the transmission channel may be constant or may vary according to various network conditions.
계속해서 도 1을 참조하여, 수신측 장치(200)에 대해서 설명한다. 수신측 장치는 수신 유닛(Receiving Unit, 210), 복호화 유닛(Decoding Unit, 220), 및 디스플레이 유닛(Dsiplay Unit, 230)을 포함한다. 수신측 장치(200)의 안테나를 통해서 비트스트림이 수신되면, 수신된 부호화된 데이터는 수신 유닛(210)의 버퍼를 통하여 복호화 유닛(220)으로 보내진다. 그리고 복호화 유닛(220)은 종전과 마찬가지로 부호화된 데이터를 복호화하여 재구성 영상 프레임을 생성하며, 디스플레이 유닛(230)에서 재현될 수 있도록 생성된 재구성 영상 프레임(출력 영상)을 디스플레이 유닛으로 보낸다. 본 실시예에 의하면, 복호화 유닛(220)은 수신된 장면 전환 프레임에 대한 정보와 함께, 필요한 경우에는 부호화 방법에 관한 정보도 이용하여 복호화를 수행한다.Subsequently, the receiving side apparatus 200 will be described with reference to FIG. 1. The receiving device includes a receiving unit 210, a decoding unit 220, and a display unit 230. When the bitstream is received through the antenna of the receiving device 200, the received encoded data is sent to the decoding unit 220 through the buffer of the receiving unit 210. The decoding unit 220 generates a reconstructed image frame by decoding the encoded data as before, and sends the reconstructed image frame (output image) generated to be reproduced by the display unit 230. According to the present embodiment, the decoding unit 220 performs decoding using information on the encoding method as well as information on the received scene change frame.
본 발명의 실시예에 의하면, 복호화 유닛(220)에서 생성되어 디스플레이 유닛(230)에서 재현되는 재구성 영상은 모든 프레임의 영상을 포함하지 않는다. 예컨대, 부호화 유닛(210)에서 전술한 블록 그룹 기반 부호화 방법에 의하여 부호화를 수행하는 경우에, 스킵되는 블록 그룹(매크로블록의 COD가 '1'로 표시되는 블록)에 대한 영상 신호는 수신측 장치(200)로 전송되지 않기 때문에, 복호화 유닛(220)은 이들 프레임에 대해서는 프레임 전체에 대한 재구성 영상을 생성할 수 없다. 따라서 본 실시예에 따른 수신측 장치(200)의 디스플레이 유닛(230)은, 예를 들어, 장면 전환 프레임만을 스킵하거나 또는 장면 전환 프레임과 1장 이상의 그 후속 프레임을 스킵하는 대신에, 직전 프레임의 영상을 스킵하는 프레임만큼 반복하여 재생하는 방식으로 영상을 재생한다. According to the exemplary embodiment of the present invention, the reconstructed image generated by the decoding unit 220 and reproduced by the display unit 230 does not include images of all frames. For example, when the encoding unit 210 performs encoding by the above-described block group-based encoding method, the image signal for the skipped block group (blocks in which the COD of the macroblock is indicated by '1') is received from the receiving side apparatus. Since it is not transmitted to 200, the decoding unit 220 may not generate a reconstructed image of the entire frame for these frames. Therefore, the display unit 230 of the receiving-side apparatus 200 according to the present embodiment, for example, skips only the scene change frame or skips the scene change frame and one or more subsequent frames, instead of the previous frame. The video is reproduced by repeatedly playing the video by skipping frames.
도 4는, 부호화 유닛(110)에서 도 2에 도시된 예와 같이 각 프레임에 대하여 블록 그룹 단위로 장면 전환 프레임인지를 판정하는 부호화를 한 경우에, 본 발명의 실시예에 따라서 재생되는 영상을 보여주는 블록도이다. 도 4를 참조하면, 장면 전환 프레임인 2번 프레임과 3번 프레임을 디스플레이 유닛(230)에서 재생할 경우에는 그 이전 프레임인 1번 프레임의 영상을 반복하여 재생하고, 1번 프레임이나 4번 또는 5번 프레임 등과 같이 장면 전환 프레임이 아닌 경우에는 해당 번호의 재구성된 영상을 그대로 재생한다.FIG. 4 illustrates an image reproduced according to an embodiment of the present invention when encoding is performed by the encoding unit 110 to determine whether each frame is a scene change frame on a block group basis as in the example shown in FIG. 2. A block diagram showing. Referring to FIG. 4, when frames 2 and 3, which are scene transition frames, are reproduced on the display unit 230, images of frame 1, which is the previous frame, are repeatedly played, and frames 1, 4, or 5 are repeated. If it is not a scene change frame such as the burn frame, the reconstructed video of the corresponding number is played as it is.
도 5는, 부호화 유닛(110)에서 도 3에 도시된 예와 같이 각 프레임을 블록 그룹 단위로 부호화를 한 경우에, 본 발명의 실시예에 따라서 재생되는 영상을 보여주는 블록도이다. 도 5를 참조하면, 장면 전환 프레임인 2번 프레임을 디스플레이 유닛(230)에서 재생할 경우에는 그 이전 프레임인 1번 프레임의 영상을 반복하여 재생하고, 1번 프레임이나 3번, 4번 또는 5번 프레임 등과 같이 장면 전환 프레임이 아닌 경우에는 해당 번호의 재구성된 영상을 그대로 재생한다.FIG. 5 is a block diagram illustrating an image reproduced according to an exemplary embodiment of the present invention when encoding is performed in units of block groups as in the example illustrated in FIG. 3. Referring to FIG. 5, when the second frame, which is a scene change frame, is reproduced on the display unit 230, the image of the first frame, which is the previous frame, is repeatedly played, and the first frame, the third frame, the fourth frame, or the fifth frame. If it is not a scene change frame such as a frame, the reconstructed video of the corresponding number is reproduced as it is.
이와 같이, 본 발명의 실시예에 의하면, 매크로블록이나 매크로블록 라인 단위로 부호화를 수행하고 또한, 해당 프레임의 소정의 블록 그룹까지의 차분 데이터를 이용하여 현재 프레임이 장면 전환 프레임에 해당되는지를 판정한다. 그리고 판정 결과, 현재 프레임의 블록 그룹 전체가 아닌 일부 블록 그룹까지의 차분 데이터에 의하여 현재 프레임이 장면 전환 프레임으로 판정되는 경우에는, 송신측 장치에서는 나머지 블록 그룹의 영상에 대해서는 부호화를 수행하지 않고 해당 프레임이 장면 전환 프레임이라는 것을 지시하는 정보를 함께 송신측 장치로 전송한다. 그리고 수신측 장치에서는 장면 전환 프레임이 아닌 경우에는 원래의 재구성 영상을 그대로 재생하지만 장면 전환 프레임에 대해서는 그 이전 프레임의 재구성 영상을 반복하여 재생한다.As described above, according to the embodiment of the present invention, encoding is performed in units of macroblocks or macroblock lines, and it is determined whether the current frame corresponds to a scene change frame by using difference data up to a predetermined block group of the frame. do. As a result of the determination, when the current frame is determined to be a scene change frame by difference data up to some block groups instead of the entire block group of the current frame, the transmitting apparatus does not perform encoding on the images of the remaining block groups. Information indicating that the frame is a scene change frame is also transmitted to the transmitting device. When the scene is not a scene change frame, the receiving device reproduces the original reconstructed image as it is, but the reconstruction image of the previous frame is repeatedly reproduced for the scene change frame.
실험 결과Experiment result
전술한 본 발명의 실시예에 따른 저지연 영상 통신 시스템을 위한 알고리즘의 성능을 테스트하기 위하여, 국제표준인 H.263 베이스라인 프로파일(Baseline Profile)에 상기 알고리즘을 구현하여 실험하였다. 표 1은 이러한 테스트에 적용된 실험 영상과 비트율을 보여주고 있다. 표 1에서 델타 비트율은 목적 비트율(1Mbps)을 기준으로 더해지거나 감해지는 값으로서, 송신측 장치의 부호화 유닛에서 허용되는 비트발생량의 상한과 하한을 나타낸다.In order to test the performance of the algorithm for the low latency video communication system according to the embodiment of the present invention described above, the algorithm was implemented in the international standard H.263 Baseline Profile. Table 1 shows the experimental images and bit rates applied to these tests. In Table 1, the delta bit rate is a value added or subtracted based on the target bit rate (1 Mbps), and represents an upper limit and a lower limit of the amount of bit generation allowed in the coding unit of the transmitting apparatus.
도 6은 전술한 본 발명의 실시예에 따라서 제안된 알고리즘과 기존의 TMN8에 따른 알고리즘을 적용한 경우의 비트발생량을 비교해서 보여주는 그래프이다. 도 6을 참조하면, 본 발명의 실시예에 따라서 제안된 알고리즘은 비트발생량이 표 1에 개시되어 있는 비트율의 상한과 하한 사이에서 위치한다는 것을 알 수 있다.FIG. 6 is a graph illustrating a comparison of bit generation rates when the proposed algorithm and the conventional algorithm according to the TMN8 are applied according to the above-described embodiment of the present invention. Referring to FIG. 6, it can be seen that the proposed algorithm according to the embodiment of the present invention is located between the upper and lower limits of the bit rates disclosed in Table 1.
도 7은 전술한 본 발명의 실시예에 따라서 제안된 알고리즘과 기존의 TMN8에 따른 알고리즘을 적용한 경우의 PSNR(Power Signal-to-Noise ratio)을 비교해서 보여주는 그래프이다. 도 7을 참조하면, 본 발명의 실시예에 따라서 제안된 알고리즘의 PSNR은 대부분의 프레임에서 TMN8에 따른 알고리즘보다 향상된 추세를 보여준다. 다만, 본 발명의 실시예에 따라서 제안된 알고리즘은 장면 전환 프레임과 후속되는 두 개의 프레임에서 화면의 일부분만 부호화하였으므로 PSNR이 하락되지만 이들 프레임은 수신측 장치에서는 디스플레이 되지 않기 때문에, 이것은 전혀 문제가 되지 않는다.FIG. 7 is a graph illustrating a comparison of a power signal-to-noise ratio (PSNR) when a proposed algorithm according to an embodiment of the present invention and an existing algorithm according to the TMN8 are applied. Referring to FIG. 7, the PSNR of the proposed algorithm according to the embodiment of the present invention shows an improved trend over the algorithm according to TMN8 in most frames. However, according to the embodiment of the present invention, since the proposed algorithm encodes only a part of the screen in the scene change frame and the following two frames, the PSNR is decreased, but since these frames are not displayed at the receiving device, this is not a problem at all. Do not.
이와 같이, 본 발명의 실시예에 의하면, 영상 통신 시스템의 송신측 장치에서는 비트발생량에 큰 폭의 변동이 없도록 소정의 변동범위 내에서 비트발생량을 제어할 수가 있기 때문에, 송신측 장치에서의 버퍼의 넘침 현상이나 이에 따른 전송지연의 문제가 발생하는 것을 방지할 수 있다. 그리고 본 발명의 실시예에 의하면, PSNR도 기존의 알고리즘에 비하여 평균 2.0dB의 향상을 보여 준다. 또한, 본 발명의 실시예에 의하면, 장면 전환 프레임에서는 이전 프레임의 영상을 반복하여 재생하므로, 비록 장면 전환 프레임의 영상이 다소 지연되어 재생되지만, 그 사이에서 재생되는 영상의 화질이 열화되는 것을 방지할 수가 있다.As described above, according to the embodiment of the present invention, since the bit generation amount can be controlled within a predetermined fluctuation range so that the bit generation amount does not vary greatly in the bit generation amount of the video communication system, It is possible to prevent the occurrence of an overflow phenomenon and a transmission delay. In addition, according to the embodiment of the present invention, the PSNR also shows an improvement of an average of 2.0 dB over the conventional algorithm. Further, according to the embodiment of the present invention, since the image of the previous frame is repeatedly played back in the scene change frame, the image of the scene change frame is delayed, but the image quality of the image played therebetween is prevented from being deteriorated. You can do it.
Claims (11)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20070068472 | 2007-07-09 | ||
KR1020070068472 | 2007-07-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090005943A KR20090005943A (en) | 2009-01-14 |
KR100923961B1 true KR100923961B1 (en) | 2009-10-29 |
Family
ID=40487450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070124551A KR100923961B1 (en) | 2007-07-09 | 2007-12-03 | System and method for low-delay video telecommunication |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100923961B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5994367B2 (en) * | 2012-04-27 | 2016-09-21 | 富士通株式会社 | Moving picture coding apparatus and moving picture coding method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0173922B1 (en) * | 1995-09-26 | 1999-03-20 | 양승택 | Bit rate control method by frame group |
KR20040046320A (en) * | 2002-11-27 | 2004-06-05 | 엘지전자 주식회사 | Method for moving picture coding |
-
2007
- 2007-12-03 KR KR1020070124551A patent/KR100923961B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0173922B1 (en) * | 1995-09-26 | 1999-03-20 | 양승택 | Bit rate control method by frame group |
KR20040046320A (en) * | 2002-11-27 | 2004-06-05 | 엘지전자 주식회사 | Method for moving picture coding |
Non-Patent Citations (2)
Title |
---|
The journal of the Korean institute of maritime & communication sciences ,v.5 no.7 ,2001 ,pp.1301-1307 |
정보처리학회논문지. The KIPS transactions. Part B. Part B ,v.13B no.3 = no.106 ,2006 ,pp.245-254 |
Also Published As
Publication number | Publication date |
---|---|
KR20090005943A (en) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8374236B2 (en) | Method and apparatus for improving the average image refresh rate in a compressed video bitstream | |
JP4571489B2 (en) | Method and apparatus for displaying quantizer parameters in a video coding system | |
US6765963B2 (en) | Video decoder architecture and method for using same | |
US8780978B2 (en) | Controlling video encoding using audio information | |
US6920175B2 (en) | Video coding architecture and methods for using same | |
US20040158719A1 (en) | Video encoder capable of differentially encoding image of speaker during visual call and method for compressing video signal using the same | |
US20020122491A1 (en) | Video decoder architecture and method for using same | |
US9113194B2 (en) | Method and system for interleaving video and data for transmission over a network at a selected bit rate | |
AU2006223416A1 (en) | Content adaptive multimedia processing | |
KR20100021597A (en) | A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding | |
JP3651706B2 (en) | Video encoding device | |
KR100923961B1 (en) | System and method for low-delay video telecommunication | |
KR101371507B1 (en) | System and method for low-delay video telecommunication | |
KR100770873B1 (en) | Method and apparatus of controling bit rate in image encoding | |
JPH08251597A (en) | Moving image encoding and decoding device | |
JPH06153181A (en) | Prediction coding method, prediction decoding method, prediction coder and prediction decoder | |
KR20040039809A (en) | Moving picture encoder and method for coding using the same | |
Bonuccelli et al. | „Video Transcoding Techniques in Mobile Systems “ | |
Baroncini et al. | Variable Frame Rate control driven by the jerkiness | |
JP2001148855A (en) | Image information converter and image information conversion method |
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 | ||
FPAY | Annual fee payment |
Payment date: 20121002 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20131002 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |