





본 발명의 실시 예들은 적응적 비디오 전송을 위한 코딩 레이트 조정 및 차등 오류 보호 적용 방법과, 그를 이용한 비디오 전송/수신 장치에 관한 것으로, 특히 비디오 수신 장치(클라이언트)가 수신 패킷의 비트에러율(BER)을 이용해 채널용량을 추정하여 피드백 시키면, 비디오 전송 장치(서버)가 그 채널용량 추정값에 기초하여 비디오/채널 코딩 레이트를 최적으로 조정하고, 프레임의 특성에 따라 차등 오류 보호를 적용하는 방법 및 장치에 관한 것이다.Embodiments of the present invention relate to a method of applying coding rate adjustment and differential error protection for adaptive video transmission, and a video transmission / reception device using the same, in particular, a video receiving device (client) may receive a bit error rate (BER) of a received packet. By estimating and feeding back the channel capacity, the video transmission apparatus (server) optimally adjusts the video / channel coding rate based on the estimated channel capacity and applies the differential error protection according to the characteristics of the frame. It is about.
무선 환경에서는 약한 신호세기로 인하여 많은 비트 에러가 발생하고, 이는 패킷 손실을 초래한다. 따라서 무선 단말에서 이러한 패킷 손실을 줄이기 위해서는 링크 품질 내지 채널 상태를 추정하는 것이 필요하다. 특히, 실시간 비디오 적응을 위해서는, 실시간으로 무선 채널용량을 정확하게 추정하는 것이 필수적이다. 왜냐 하면, 링크 품질(Link Quality)은 간섭(Interference), 페이딩(Fading), 다중 경로 효과(Multi-Path Effects), 및 이동성(Mobility) 등으로 인해 심하게 영향을 받는데, 이들의 변화는 결국 채널용량에 심한 변화를 주기 때문이다.In a wireless environment, many bit errors occur due to weak signal strength, which leads to packet loss. Therefore, in order to reduce such packet loss in the wireless terminal, it is necessary to estimate link quality or channel state. In particular, for real-time video adaptation, it is essential to accurately estimate the radio channel capacity in real time. Because link quality is severely affected by interference, fading, multi-path effects, and mobility. This is because it makes a big difference.
한편, 무선 단말에서의 패킷 손실을 줄이기 위하여, 교차 계층 디자인(CLD: Cross-Layer Design) 프로토콜에 대한 연구가 활발히 진행되어 왔다. 여기서, CLD 프로토콜은 비트에러가 존재하는 패킷을 상위 레이어(Layer)로 전달하고 그 상위 레이어에서 이 패킷을 활용하는 기술이다.Meanwhile, in order to reduce packet loss in a wireless terminal, research on a cross-layer design (CLD) protocol has been actively conducted. Here, the CLD protocol is a technique of delivering a packet in which a bit error exists to an upper layer and using the packet in the upper layer.
지금까지의 많은 연구들은 CLD를 통해 비디오 처리량(throughput)을 증가할 수 있다는 사실을 확인하였다. 게다가, 현재의 무선랜에서는 부가정보의 활용이 가능한데, 이러한 부가정보(Side information)가 채널상황을 추정할 수 있는 중요한 정보라는 점도 증명하였다. 여기서, 부가정보(Side information)는 신호 세기(SSR: Signal to Silence Ratio)(SSR은 패킷 레벨의 SNR 파라미터에 해당함)와 체크섬(Checksum)을 포함한다.Many studies to date have confirmed that CLD can increase video throughput. In addition, in the present WLAN, it is possible to use additional information, and it has also been proved that such side information is important information for estimating the channel status. Here, the side information includes a signal to silence ratio (SSR) (SSR corresponds to an SNR parameter of a packet level) and a checksum.
그리고 상기와 같은 부가 정보의 중요성 인식과 더불어, 부가정보를 활용하는 CLD 프로토콜, 즉 CLDS(Cross-Layer Design with Side Information) 프로토콜도 등장하였는데, 이러한 CLDS는 실시간 비디오 적응(Real-time Video Rate-Adaptation) 애플리케이션에 매우 유용하게 적용될 수 있다. 특히, CLDS를 기반으로 하여 링크 품질(Link Quality)을 추정한다면, 잔류 에러 과정의 엔트로피(the entropy of the residue error process)를 이용하여 더욱 정확하게 추정할 수 있을 것이다.In addition to recognizing the importance of the additional information, a CLD protocol utilizing the additional information, that is, a Cross-Layer Design with Side Information (CLDS) protocol, has emerged, and such CLDS is a Real-time Video Rate-Adaptation. This can be very useful for your application. In particular, if the link quality is estimated based on the CLDS, the entropy of the residue error process may be more accurately estimated.
본 발명의 실시 예는 적응적 비디오 전송을 위한 코딩 레이트 조정 및 차등 오류 보호 적용 방법과, 그를 이용한 비디오 전송/수신 장치를 제공한다.An embodiment of the present invention provides a method of applying coding rate adjustment and differential error protection for adaptive video transmission, and a video transmission / reception apparatus using the same.
본 발명의 실시 예는 비디오 전송 장치(서버)에서 비디오 수신 장치(클라이언트)로부터 추정된 채널용량을 수신하면 채널용량 추정값을 기초해서 비디오/채널 코딩 레이트를 최적으로 조정하고, 프레임의 특성에 따라 차등 오류 보호를 적용하는 방법 및 장치를 제공한다.According to an embodiment of the present invention, when the video transmission device (server) receives the estimated channel capacity from the video receiving device (client), the video / channel coding rate is optimally adjusted based on the channel capacity estimation value, and the difference is determined according to the characteristics of the frame. Provides a method and apparatus for applying error protection.
본 발명의 실시 예에 따른 적응적 비디오 전송을 위한 코딩 레이트 조정 및 차등 오류 보호를 적용한 방법은, 비디오 수신 장치로부터 피드백된 채널용량 추정값을 다음 채널구간의 채널용량으로 예측하는 단계와, 상기 예측된 채널용량 내에서 비디오코딩 레이트 및 채널코딩 레이트를 조정하는 단계와, 비디오 프레임들을 상기 조정된 비디오 코딩 레이트로 비디오 인코딩해서 비디오 패킷으로 생성하는 단계와, 상기 비디오 패킷의 길이와 상기 비디오 패킷에 포함된 상기 비디오 프레임의 종류를 고려해서 차등 오류 보호하는 단계 및 상기 차등 오류 보호된 비디오 패킷을 상기 조정된 채널 코딩 레이트로 채널 인코딩해서 비트 스트림을 생성하는 단계를 포함한다.According to an embodiment of the present invention, a method of applying coding rate adjustment and differential error protection for adaptive video transmission may include estimating a channel capacity estimation value fed back from a video receiving apparatus as a channel capacity of a next channel section. Adjusting a video coding rate and a channel coding rate within a channel capacity, video encoding video frames at the adjusted video coding rate to generate a video packet, the length of the video packet and the video packet included in the video packet. Differential error protection taking into account the type of video frame and channel encoding the differential error protected video packet at the adjusted channel coding rate to generate a bit stream.
본 발명의 실시 예에 따른 적응적 비디오 전송을 위한 코딩 레이트 조정 및 차등 오류 보호를 적용한 비디오 전송 장치는, 비디오 수신 장치로부터 피드백된 채널용량 추정값을 다음 채널구간의 채널용량으로 예측하고, 상기 예측된 채널용량 내에서 비디오코딩 레이트 및 채널코딩 레이트를 조정하는 코딩레이트 조정부와, 비디오 프레임들을 상기 조정된 비디오 코딩 레이트로 비디오 인코딩해서 비디오 패킷으로 생성하는 비디오 인코더 및 상기 비디오 패킷의 길이와 상기 비디오 패킷에 포함된 상기 비디오 프레임의 종류를 고려해서 차등 오류 보호하고, 상기 차등 오류 보호된 비디오 패킷을 상기 조정된 채널 코딩 레이트로 채널 인코딩해서 비트 스트림을 생성하는 순방향 에러 정정(FEC) 인코더를 포함한다.According to an embodiment of the present invention, a video transmission apparatus applying coding rate adjustment and differential error protection for adaptive video transmission predicts a channel capacity estimation value fed back from a video receiving apparatus as a channel capacity of a next channel section, and estimates the estimated channel capacity. A coding rate adjusting unit for adjusting a video coding rate and a channel coding rate within a channel capacity, a video encoder for video encoding video frames at the adjusted video coding rate to generate a video packet, and a length of the video packet and a length of the video packet. A differential error protection in consideration of the type of video frame included, and a forward error correction (FEC) encoder for channel encoding the differential error protected video packet at the adjusted channel coding rate to generate a bit stream.
본 발명의 실시 예는 비디오 전송 장치(서버)에서 비디오 수신 장치(클라이언트)로부터 추정된 채널용량을 수신하면 채널용량 추정값을 기초해서 비디오/채널 코딩 레이트를 최적으로 조정하고, 프레임의 특성에 따라 차등 오류 보호를 적용하는 방법 및 장치에 관한 것으로, 채널 추정값을 바탕으로 비디오/채널 코딩 레이트를 조정함으로써, 강건한 레이트 적응을 가능하게 하였고, 비디오 프레임의 특성을 고려해서 차등 오류 보호함에 따라 보다 중요한 비디오 프레임의 복호화 성공률을 높일 수 있다.According to an embodiment of the present invention, when the video transmission device (server) receives the estimated channel capacity from the video receiving device (client), the video / channel coding rate is optimally adjusted based on the channel capacity estimation value, and the difference is determined according to the characteristics of the frame. A method and apparatus for applying error protection, wherein the video / channel coding rate is adjusted based on a channel estimate, thereby enabling robust rate adaptation, and taking into account the characteristics of the video frame, the more important video frame as a differential error protection. Can increase the decoding success rate.
이하에서, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference symbols in the drawings denote like elements. Further, if it is determined that the gist of the present invention may be unnecessarily blurred, detailed description thereof will be omitted.
본 발명의 실시 예는 비디오 전송 장치(서버)에서 비디오 수신 장치(클라이언트)로부터 추정된 채널용량을 수신하면 채널용량 추정값을 기초해서 비디오/채널 코딩 레이트를 최적으로 조정하고, 프레임의 특성에 따라 차등 오류 보호를 적용하는 방법 및 장치에 관한 것이다.According to an embodiment of the present invention, when the video transmission device (server) receives the estimated channel capacity from the video receiving device (client), the video / channel coding rate is optimally adjusted based on the channel capacity estimation value, and the difference is determined according to the characteristics of the frame. A method and apparatus for applying error protection.
도 1은 본 발명의 실시 예에 따른 적응적 비디오 전송을 위한 비디오 서비스 시스템의 구성을 도시한 도면이다. 도 1을 참조하면, 비디오 서비스 시스템은, 비디오 전송 장치(서버)(110), 비디오 수신 단말(클라이언트)(120) 및 데이터를 전달하는 유/무선 네트워크(110)를 포함하여 구성 될 수 있다.1 is a diagram illustrating a configuration of a video service system for adaptive video transmission according to an embodiment of the present invention. Referring to FIG. 1, a video service system may include a video transmission apparatus (server) 110, a video receiving terminal (client) 120, and a wired /
비디오 서비스 시스템에 포함된 장치 간의 관계를 보면, 비디오 수신 단말(클라이언트)(120)이 채널용량을 추정하여 피드백으로 전송하면, 비디오 전송 장치(서버)(110)는 그 채널용량 추정값을 이용하여 비디오코딩 레이트(Video Coding Rate) 및 채널코딩 레이트(Channel Coding Rate)를 최적으로 조정한다. 그리고, 추가로 비디오 전송 장치(서버)(110)는 송신하는 비디오 프레임의 특성에 따라 차등 오류 보호를 적용한다.In relation to the devices included in the video service system, when the video receiving terminal (client) 120 estimates the channel capacity and transmits it as feedback, the video transmitting device (server) 110 uses the channel capacity estimation value to transmit the video. Video Coding Rate and Channel Coding Rate are optimally adjusted. The video transmission device (server) 110 further applies differential error protection according to the characteristics of the video frame to be transmitted.
먼저, 본 발명의 실시 예에 따른 비디오 수신 단말(120)은 채널용량 추정부(122), 순방향 에러 정정(FEC: Forward Error Correction) 디코더(124), 및 비디 오 디코더(126)를 포함할 수 있다.First, the
채널용량 추정부(122)는 유선 또는 무선 네트워크(100)를 통하여 수신된 비디오 스트림으로부터 채널상태 부가정보(Side Information)(예를 들면, 체크섬(checksum), 신호 세기(SSR: Signal to Silence Ratio))를 획득한 후 이를 이용하여 각각의 수신 비디오 패킷에 대하여 비트에러율(BER)을 추정한 다음, 그 추정된 비트에러율(BER)을 이용해 채널용량을 추정하여 비디오 전송 장치(110)에 피드백으로 전송한다. 채널용량 추정부(122)의 채널용량 추정과정은 이후 도 2를 참조하여 보다 상세히 후술하고자 한다.The
그리고 FEC 디코더(124)는 채널오류를 정정하기 위한 채널 디코더의 일종으로서, 채널용량 추정부(122)로부터 전달받은 채널상태 부가정보를 이용하여 수신 비디오 스트림을 채널 디코딩한다. 본 발명의 비디오 스트림에 포함된 패킷들은 포함된 비디오 프레임의 종류에 따라 차등 오류 보호되어 있다. 따라서, FEC 디코더(124)는 비디오 스트림을 차등 오류 보호를 고려해서 채널 디코딩한다.The
그러면, 비디오 디코더(126)는 채널 디코딩된 비디오 스트림을 비디오 디코딩하여 복원한다.The
한편, 본 발명의 실시 예에 따른 비디오 전송 장치(서버)(110)는 비디오 인코더(112), 순방향 에러 정정(FEC: Forward Error Correction) 인코더(114), 코딩 레이트 조정부(116)를 포함할 수 있다.Meanwhile, the video transmission apparatus (server) 110 according to an embodiment of the present invention may include a
비디오 인코더(112)는 비디오 데이터를 코딩 레이트 조정부(116)에 의해 조정된 비디오코딩 레이트에 따라 인코딩한다.The
FEC 인코더(114)는 채널 오류를 정정하기 위한 채널 인코더로서 비디오 인코딩 결과에 비디오 프레임의 종류를 고려한 차등 오류 보호를 적용하고 코딩 레이트 조정부(116)에 의해 조정된 채널코딩 레이트에 따라 채널 인코딩을 수행한다. 이러한 두 인코더(112, 114)를 통해서 비디오 스트림이 생성된다.The
코딩 레이트 조정부(116)는 비디오 수신 단말(120)로부터 피드백 전송된 채널용량 추정값이 허용하는 범위 내에서 비디오 인코더(112)의 비디오코딩 레이트와 FEC 인코더(114)의 채널코딩 레이트를 최적으로 조정한다.The coding
비디오코딩 레이트와 채널코딩 레이트를 조정하는 방법을 이후 도 2를 참조하여 보다 상세히 후술하고자 한다.A method of adjusting the video coding rate and the channel coding rate will be described later in more detail with reference to FIG. 2.
이하, 상기와 같이 구성된 본 발명에 따른 채널용량을 추정하고, 적응적 비디오 전송을 위한 코딩 레이트 조정하고, 차등 오류 보호를 적용하는 방법을 아래에서 도면을 참조하여 설명한다.Hereinafter, a method of estimating channel capacity, adjusting coding rate for adaptive video transmission, and applying differential error protection according to the present invention configured as described above will be described with reference to the accompanying drawings.
도 2는 본 발명의 실시 예에 따른 비디오 수신 장치(클라이언트)에서 채널 용량을 추정해서 피드백하는 과정을 도시한 흐름도이다.2 is a flowchart illustrating a process of estimating and feeding back channel capacity in a video receiving apparatus (client) according to an embodiment of the present invention.
도 2를 참조하면 비디오 수신 단말(클라이언트)(120)의 채널용량 추정부(122)는 210단계에서 네트워크(100)를 통해서 비디오 스트림을 수신하면 212단계에서 비디오 스트림에 포함된 각각의 비디오 패킷에 대한 비트 에러율(BER)을 추정한다.Referring to FIG. 2, when the
그리고, 채널용량 추정부(122)는 214단계에서 추정된 각각의 비트 에러율 에 대한 엔트로피를 계산한다. 그리고, 채널용량 추정부(122)는 216단계에서 하나 의 비디오 적응 주기 동안의 엔트로피 평균값을 계산한다.The
그리고, 채널용량 추정부(122)는 218단계에서 엔트로피 평균값을 이용해서 채널용량을 추정하고, 220단계에서 채널용량 추정값을 서버로 피드백한다.In
채널용량의 추정을 수학식으로 표현하면, 아래 <수학식 1>과 같이 표현할 수 있다.When the estimation of the channel capacity is expressed by the equation, it can be expressed as
여기서,는 채널용량의 추정값이고,는 패킷 i에 대한 비트에러율 추정치이고, 는 각 패킷에 대한 순시 엔트로피(instantaneous perpacket entropy)를 나타내고, m은 하나의 비디오 적응 주기에 포함된 패킷의 수를 나타낸다.here, Is an estimate of channel capacity, Is the bit error rate estimate for packet i, Denotes instantaneous perpacket entropy for each packet, and m denotes the number of packets included in one video adaptation period.
도 3은 본 발명의 실시 예에 따른 비디오 전송 장치(서버)에서 비디오 코딩 레이트와 채널 코딩 레이트를 조정하고, 차등 에러 보호 적용한 비디오 스트림을 송신하는 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of adjusting a video coding rate and a channel coding rate and transmitting a video stream to which differential error protection is applied in a video transmission apparatus (server) according to an exemplary embodiment of the present invention.
도 3을 참조하면 비디오 전송 장치(서버)(110)의 코딩 레이트 조정부(116)는 310단계에서 비디오 수신 단말(클라이언트)(120)로부터 피드백되는 채널용량 추정값을 수신하면, 312단계에서 채널용량 추정값을 이용해서 다음 채널구간의 채널용량을 예측한다. 이때, 다음 채널구간의 채널용량 예측은 비디오 수신 단말(클라 이언트)(120)로부터 피드백되는 이전 채널용량 추정값을 다음 채널 구간의 채널용량 예측값으로 사용한다.Referring to FIG. 3, when the coding
그리고, 비디오 전송 장치(서버)(110)의 코딩 레이트 조정부(116)는 314단계에서 예측된 채널용량 내에서 비디오의 레이트 왜곡함수와 비디오의 화질 왜곡함수를 이용해서 비디오 코딩 레이트와 채널 코딩 레이트를 최적으로 조정한다.The coding
즉, 다음 채널구간에 대한 최적의 비디오코딩 레이트는 전송 중인 비디오의 PSNR(Peak Signal to Noise Ratio)값이 해당 채널 구간 동안 최적이 될 수 있는 값이 된다. 여기서, 비디오코딩 레이트 채널코딩 레이트의 합은 1이다. 예를 들어, 500kbp로 비디오 전송시, 현 채널용량 레이트가 0.8인 경우에는, 비디오는 400kbps로 인코딩하고 나머지 부분은 채널코딩을 하여 전송해야 하며, 이렇게 하여야 최적의 채널 활용이 가능하다.That is, the optimal video coding rate for the next channel segment is such that the peak signal to noise ratio (PSNR) value of the video being transmitted may be optimal during the corresponding channel segment. Here, the sum of the video coding rate channel coding rates is one. For example, when transmitting a video at 500kbp, if the current channel capacity rate is 0.8, the video should be encoded at 400kbps and the remaining portion should be channel coded to be transmitted.
다시 말해, 채널코딩 레이트가 작아지면, 채널용량 예측값이 실제 채널 용량값보다 클 확률은 적어지지만 RD 함수의 값이 작아져서 전체 PSNR값은 낮아지게 된다. 반대로, 채널코딩 레이트가 크면, 비디오의 레이트 왜곡 함수의 값은 커지지만 채널용량 예측값이 실제 채널용량을 초과할 확률이 커져서 전체 PSNR값은 최하 값이 될 가능성이 크다. 따라서 아래 <수학식 3>는 채널용량 예측값보다는 작으나 최상의 PSNR값을 갖는 채널용량 레이트를 찾을 수 있도록 한다.In other words, when the channel coding rate decreases, the probability that the channel capacity prediction value is larger than the actual channel capacity value decreases, but the value of the RD function becomes smaller, resulting in a lower overall PSNR value. Conversely, if the channel coding rate is large, the value of the rate distortion function of the video increases, but the probability that the channel capacity prediction value exceeds the actual channel capacity increases, so that the overall PSNR value is likely to be the lowest value. Therefore, Equation 3 below can find a channel capacity rate that is smaller than the channel capacity prediction value but has the best PSNR value.
비디오 코딩 레이트와 채널 코딩 레이트의 조정에 대한 설명에 앞서, 현존하는 모든 채널코드는 채널용량(channel capacity)보다 성능이 떨어진다. 따라서, 채널코드의 성능에 따라 성능감소가 발생하며, 이를 아래의 <수학식 2>에서와 같이  알파(α)값을 적용한다. Ideal 채널코드인 경우 알파(α)는 1이다. 도 6의 실험에서와 같이 보통 알파(α)값은 대략 2.0 이상이다.Prior to the description of the adjustment of the video coding rate and the channel coding rate, all existing channel codes are inferior to the channel capacity. Therefore, a performance decrease occurs according to the performance of the channel code, and the alpha (α) value is applied as shown in
는 운영시 성능감소된 비디오/채널코딩 레이트이고,는 패리티 비트의 크기를 결정하는 파라메터이고,는 패킷에 대한 순시 엔트로피(instantaneous perpacket entropy)를 나타낸다. Is the reduced performance video / channel coding rate, Is a parameter that determines the size of the parity bit, Denotes instantaneous perpacket entropy for the packet.
비디오 코딩 레이트와 채널 코딩 레이트의 조정은 아래 <수학식 3>를 통해서 조정된다.The adjustment of the video coding rate and the channel coding rate is adjusted through Equation 3 below.
여기서,는 예측된 비디오 코딩 레이트이고, Q(.)는 비디오의 레이트 왜곡함수이고, Q´(.)는 비디오의 화질 왜곡함수이고,는 운영시 성능감소된 비디오/채널코딩 레이트이고,는 운영시 성능감소된 현재 채널 구간의 채널용량 예측값이고,는 현재 채널 구간의 채널용량 예측값과 이전 채널 구간의 채널용량 예측값 간의 차이로 구해지는 채널예측 에러이고, T는 패킷 전송율(Packet Transmit Rate)을 나타낸다.는 채널용량 예측 에러를 가우시안 분포로 표현할 때의 시그마 값이고,는 운영시 성능감소된 현재 채널 구간의 채널용량 값이다.here, Is the predicted video coding rate, Q (.) Is the video's rate distortion function, Q '(.) Is the video's video quality distortion function, Is the reduced performance video / channel coding rate, Is an estimate of channel capacity of the current channel section where performance is reduced. Is a channel prediction error obtained by the difference between the channel capacity prediction value of the current channel interval and the channel capacity prediction value of the previous channel interval, and T represents a packet transmit rate. Is the sigma value when expressing the channel capacity prediction error as a Gaussian distribution, Is the channel capacityvalue of the current channel section whose performance has decreased during operation.
비디오의 레이트 왜곡(RD: Rate Distortion) 함수는 비디오 부호화시 얻어지는 함수로서 아래 도 4와 같다. 도 4는 본 발명의 실시 예에 따른 비디오의 레이트 왜곡 함수를 그래프로 나타낸 도면이다. 도 4의 비디오의 레이트 왜곡 함수는 비트율(Bit Rate)과 화질 척도인 PSNR(Peak Signal to Noise Ratio)의 관계를 나타내었다.The rate distortion (RD) function of the video is a function obtained during video encoding, as shown in FIG. 4. 4 is a graph illustrating a rate distortion function of a video according to an exemplary embodiment of the present invention. The rate distortion function of the video of FIG. 4 illustrates a relationship between a bit rate and a peak signal to noise ratio (PSNR), which is a quality measure.
그리고, 비디오의 화질 왜곡함수(Q´(.))는 채널용량 초과에 따른 비디오의 화질 왜곡을 나타내는 함수로 아래 <수학식 4>과 같이 표현될 수 있다.The video quality distortion function Q '(.) Is a function representing the video quality distortion caused by exceeding the channel capacity, and may be expressed as Equation 4 below.
<수학식 4>으로 표현되는 비디오의 화질 왜곡함수는 아래 도 5와 같이 실험에 의해 결정되며, 또한 실험에 의해, 및로 결정된다. 도 5는 본 발명의 실시 예에 따라 채널용량을 초과한 레이트에 대한 비디오의 화질 왜곡 함수를 그래프로 나타낸 도면이다.The image quality distortion function of the video represented by Equation 4 is determined by an experiment as shown in FIG. 5 below, and also by an experiment. , And . 5 is a graph illustrating a video quality distortion function for a rate exceeding a channel capacity according to an exemplary embodiment of the present invention.
이때, 비디오의 화질 왜곡함수(Q´(x))의 인자인 x는 예측할 코딩 레이트와 채널용량의 차()이다. 따라서, 그 차이가 클수록 비디오화질의 왜곡은 커진다.In this case, x, which is a factor of the image quality distortion function Q '(x), represents a difference between the coding rate to be predicted and the channel capacity ( )to be. Therefore, the larger the difference, the larger the distortion of the video quality.
한편, 비디오 전송 장치(서버)(110)의 인코더(112)는 316단계에서 조정된 비디오 코딩 레이트에 따라 비디오 프레임들로 구성되는 비디오 데이트를 비디오 인코딩한다.On the other hand, the
그리고, 비디오 전송 장치(서버)(110)의 FEC 인코더(114)는 318단계에서 비디오 인코딩으로 생성된 비디오 패킷의 길이와 비디오 패킷에 포함된 프레임의 특징에 따라 비디오 패킷에 기설정된 패리티 비트를 추가한다. 그리고, 비디오 전송 장치(서버)(110) 의 FEC 인코더(114)는 320단계에서 기설정된 패리티 비트가 추가된 비디오 패킷을 조정된 채널 코딩 레이트로 채널 인코딩한다.In
비디오 스트림에 포함되는 부화화된 비디오 패킷의 복호화 성공률은 패킷의 길이에 따라 아래 도 6과 같이 영향을 받는다. 도 6은 본 발명의 실시 예에 따른 차등 오류 보호 적용을 위한 패킷 길이와 알파 값에 따른 복호화 성공률을 도시한 도면이다.The decoding success rate of the hatched video packet included in the video stream is affected as shown in FIG. 6 according to the length of the packet. 6 is a diagram illustrating a decoding success rate according to a packet length and an alpha value for applying differential error protection according to an embodiment of the present invention.
FEC 인코더(114)는 비디오 패킷의 길이와 비디오 패킷에 포함된 비디오 프레임의 특징에 따라 알파(α)를 설정하고, 알파(α)를 이용해서 패리티 비트의 길이를 설정한다. 비디오 프레임의 특징은 인트라-부호화(Intra-coded) 프레임(I-프레임), 예측-부호화(Predictive-coded) 프레임(P-프레임) 및 양방향 예측-부호화(Bidirectionally predictive-coded) 프레임(B-프레임)의 3가지로 구분될 수 있다. I-프레임은 현재 입력 영상(current input frame)내의 정보만을 이용하여 부호화된다. 그리고, P-프레임은 시간적으로 이전의(preceding) I-프레임 또는 P-프레임에 대한 움직임 예측을 이용하여 부호화된다. 그리고, B-프레임은 이전의 I-프레 임 또는 P-프레임 및 이후의(following) I-프레임 또는 P-프레임에 대한 움직임 예측을 이용하여 부호화된다.The
부호화된 비디오 프레임은 종류에 따라 중요도가 서로 다르다. 즉, I-프레임이 없으면 P-프레임 또는 B-프레임은 복호화 할 수 없다.The encoded video frames have different importance depending on the type. That is, without an I-frame, a P-frame or a B-frame cannot be decoded.
따라서, I-프레임을 포함한 패킷은 복호화가 확실한 알파(α)값을 적용하여 채널코딩을 한다. 다시 말해 I-프레임을 포함한 패킷에는 상대적으로 더 많은 패리티 비트를 할당함으로서 에러에 보다 강하게 한다. 예를 들어 길이가 800bit인 I-프레임을 포함하는 패킷인 경우, 알파(α)값에 2.7을 적용하여 패리티 비트를 할당한다.Therefore, a packet including an I-frame is subjected to channel coding by applying an alpha (α) value that is sure to be decoded. In other words, a packet containing an I-frame is allocated to more parity bits, thereby making it more error resistant. For example, in the case of a packet including an I-frame having a length of 800 bits, parity bits are allocated by applying 2.7 to an alpha (α) value.
I-프레임 패킷의 채널코딩 후, P-프레임 패킷은 아래의 <수학식 5>로 알파(α)값을 적용하여 채널코딩한다.After channel coding of the I-frame packet, the P-frame packet is channel coded by applying an alpha (α) value to Equation 5 below.
여기서,는 패리티 비트의 크기를 결정하는 파라메터이고,는 P-프레임을 포함하는 패킷의 패리티 비트의 크기를 결정하는 파라메터이고,는 I-프레임을 포함하는 i번째 패킷의 패리티 비트의 크기를 결정하는 파라메터이고,는 i 번째 패킷의 길이이고,는 I-프레임을 포함하는 i번째 패킷의 길이이고,는P-프레임을 포함하는 i번째 패킷의 길이이고, N은 총 패킷의 수이고, K는 I-프레임을 포함하는 패킷 패킷의 수이다.here, Is a parameter that determines the size of the parity bit, Is a parameter that determines the size of the parity bit of the packet including the P-frame, Is a parameter that determines the size of the parity bit of the i-th packet including the I-frame, Is the length of the i th packet, Is the length of the i th packet containing the I-frame, Is the length of the i-th packet containing theP -frame Where N is the total number of packets and K is the number of packet packets including the I-frame to be.
<수학식 3>를 통해 총 패리티 비트는 계산되며, 이는 아래 <수학식 6>과 같이 재정리 될 수 있다.The total parity bits are calculated using Equation 3, which can be rearranged as shown in Equation 6 below.
여기서,는 패리티 비트의 크기를 결정하는 파라메터이고,는 P-프레임을 포함하는 패킷의 패리티 비트의 크기를 결정하는 파라메터이고,는 I-프레임을 포함하는 i번째 패킷의 패리티 비트의 크기를 결정하는 파라메터이고,는 i번째 패킷의 길이이고,는 I-프레임을 포함하는 i번째 패킷의 길이이고,는P-프레임을 포함하는 i번째 패킷의 길이이고, N은 총 패킷의 수이고, K는 I-프레임을 포함하는 패킷 패킷의 수이다.here, Is a parameter that determines the size of the parity bit, Is a parameter that determines the size of the parity bit of the packet including the P-frame, Is a parameter that determines the size of the parity bit of the i-th packet including the I-frame, Is the length of the i th packet, Is the length of the i th packet containing the I-frame, Is the length of the i-th packet containing theP -frame Where N is the total number of packets and K is the number of packet packets including the I-frame to be.
마지막으로, 비디오 전송 장치(서버)(110)는 322단계에서 채널 인코딩에 따라 생성된 비트 스트림을 비디오 수신 단말(클라이언트)(120)로 송신한다.Finally, the video transmission device (server) 110 transmits the bit stream generated according to the channel encoding to the video receiving terminal (client) 120 in
또한, 본 발명의 실시 예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, embodiments of the present invention include a computer readable medium including program instructions for performing various computer-implemented operations. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The media may be program instructions that are specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains. Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
도 1은 본 발명의 실시 예에 따른 적응적 비디오 전송을 위한 비디오 서비스 시스템의 구성을 도시한 도면,1 is a diagram illustrating a configuration of a video service system for adaptive video transmission according to an embodiment of the present invention;
도 2는 본 발명의 실시 예에 따른 비디오 수신 장치(클라이언트)에서 채널 용량을 추정해서 피드백하는 과정을 도시한 흐름도,2 is a flowchart illustrating a process of estimating and feeding back channel capacity in a video receiving apparatus (client) according to an embodiment of the present invention;
도 3은 본 발명의 실시 예에 따른 비디오 전송 장치(서버)에서 비디오 코딩 레이트와 채널 코딩 레이트를 조정하고, 차등 에러 보호 적용한 비디오 스트림을 송신하는 과정을 도시한 흐름도,3 is a flowchart illustrating a process of adjusting a video coding rate and a channel coding rate and transmitting a video stream to which differential error protection is applied in a video transmission apparatus (server) according to an embodiment of the present invention;
도 4는 본 발명의 실시 예에 따른 비디오의 레이트 왜곡 함수를 그래프로 나타낸 도면,4 is a graph illustrating a rate distortion function of a video according to an embodiment of the present invention;
도 5는 본 발명의 실시 예에 따라 채널용량을 초과한 레이트에 대한 비디오의 화질 왜곡 함수를 그래프로 나타낸 도면 및,5 is a graph illustrating a video quality distortion function for a rate exceeding a channel capacity according to an embodiment of the present invention;
도 6은 본 발명의 실시 예에 따른 차등 오류 보호 적용을 위한 패킷 길이와 알파 값에 따른 복호화 성공률을 도시한 도면이다.6 is a diagram illustrating a decoding success rate according to a packet length and an alpha value for applying differential error protection according to an embodiment of the present invention.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| US12/652,123US8654834B2 (en) | 2009-01-06 | 2010-01-05 | Method for tuning coding rate and applying unequal error protection for adaptive video transmission, and video transmission/reception apparatus using the method | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020090000945 | 2009-01-06 | ||
| KR20090000945 | 2009-01-06 | 
| Publication Number | Publication Date | 
|---|---|
| KR20100081920A KR20100081920A (en) | 2010-07-15 | 
| KR101286917B1true KR101286917B1 (en) | 2013-07-16 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| KR1020090127232AExpired - Fee RelatedKR101286917B1 (en) | 2009-01-06 | 2009-12-18 | Method for tuning coding rate and unequal error protection for adaptive video transmission, and video transmission/reception apparatus using them | 
| Country | Link | 
|---|---|
| KR (1) | KR101286917B1 (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR20160146324A (en) | 2015-06-12 | 2016-12-21 | 연세대학교 산학협력단 | Apparatus and method for adaptive wireless video transmission using packet drop | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| EP2423796B1 (en) | 2010-08-24 | 2019-10-02 | LG Electronics Inc. | Mobile terminal and displaying method thereof | 
| WO2012125008A2 (en)* | 2011-03-16 | 2012-09-20 | 한국전자통신연구원 | Method and apparatus for estimating wireless channel status using additional information, and method for adjusting coding rate in wireless network using method and apparatus | 
| WO2014061925A1 (en)* | 2012-09-28 | 2014-04-24 | (주)휴맥스 | Method for adaptively transmitting fec parity data using cross-layer optimization | 
| CN111787322B (en) | 2020-08-04 | 2022-05-13 | 北京百度网讯科技有限公司 | Video coding method and device, electronic equipment and computer readable storage medium | 
| CN114079972B (en)* | 2020-08-21 | 2025-08-29 | 华为技术有限公司 | A coding rate adjustment method and related equipment | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2001039423A2 (en) | 1999-11-22 | 2001-05-31 | Tantivy Communications, Inc. | Variable rate coding for forward link | 
| US20060095944A1 (en)* | 2004-10-30 | 2006-05-04 | Demircin Mehmet U | Sender-side bandwidth estimation for video transmission with receiver packet buffer | 
| WO2007073362A1 (en)* | 2005-08-30 | 2007-06-28 | Thomson Licensing | Cross-layer optimization for scalable video multicast over ieee 802.11 wireless local area networks | 
| KR20090071005A (en)* | 2007-12-27 | 2009-07-01 | 한국전자통신연구원 | Channel capacity estimation and coding rate adjustment method for adaptive video transmission, and video transmission / reception device using the same | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| WO2001039423A2 (en) | 1999-11-22 | 2001-05-31 | Tantivy Communications, Inc. | Variable rate coding for forward link | 
| US20060095944A1 (en)* | 2004-10-30 | 2006-05-04 | Demircin Mehmet U | Sender-side bandwidth estimation for video transmission with receiver packet buffer | 
| WO2007073362A1 (en)* | 2005-08-30 | 2007-06-28 | Thomson Licensing | Cross-layer optimization for scalable video multicast over ieee 802.11 wireless local area networks | 
| KR20090071005A (en)* | 2007-12-27 | 2009-07-01 | 한국전자통신연구원 | Channel capacity estimation and coding rate adjustment method for adaptive video transmission, and video transmission / reception device using the same | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR20160146324A (en) | 2015-06-12 | 2016-12-21 | 연세대학교 산학협력단 | Apparatus and method for adaptive wireless video transmission using packet drop | 
| Publication number | Publication date | 
|---|---|
| KR20100081920A (en) | 2010-07-15 | 
| Publication | Publication Date | Title | 
|---|---|---|
| US8654834B2 (en) | Method for tuning coding rate and applying unequal error protection for adaptive video transmission, and video transmission/reception apparatus using the method | |
| KR101211432B1 (en) | Method for estimating channel capacity and tuning coding rate for adaptive video transmission, and video transmission/receiving apparatus using them | |
| US7974233B2 (en) | Systems and methods for transmitting and receiving data streams with feedback information over a lossy network | |
| KR101286917B1 (en) | Method for tuning coding rate and unequal error protection for adaptive video transmission, and video transmission/reception apparatus using them | |
| US8923151B2 (en) | Quality control apparatus, moving image transmission system, quality control method, and recording medium | |
| US20150180785A1 (en) | Packet Loss Mitigation | |
| KR20080086764A (en) | Packet-based video frame transmission method and apparatus | |
| KR20120106610A (en) | Methods and apparatus for estimating channel status using side information, and methods of adjusting coding rate in wireless network using the same | |
| US20060130104A1 (en) | Network video method | |
| KR101482484B1 (en) | A video packet scheduling method for multimedia streaming | |
| JP2009212842A (en) | Moving image transmitter | |
| JP2005515697A (en) | Uneven error protection using forward error correction based on Reed-Solomon code | |
| Seferoglu et al. | Rate distortion optimized joint ARQ-FEC scheme for real-time wireless multimedia | |
| KR101443061B1 (en) | Adhoc multimedia group communication terminal robust packet loss and operating method thereof | |
| Kuo et al. | Modeling and analysis of frame-level forward error correction for MPEG video over burst-loss channels | |
| KR100937099B1 (en) | Code-rate Determination Method of Source-Channel Coding in Image Transmission and Image Transmission System Using the Same | |
| KR101703133B1 (en) | Method and Apparatus for Real-time Joint Source-Channel Coding | |
| Liu et al. | Adaptive unequal loss protection for scalable video streaming over IP networks | |
| KR101103974B1 (en) | Distributed video encoding / decoding method and distributed video encoding / decoding device | |
| Krunz et al. | Adaptive rate control scheme for video streaming over wireless channels | |
| EP1182876B1 (en) | Method for video transmission over a network | |
| JP2006339775A (en) | Scalable moving picture transmission system | |
| KR100830965B1 (en) | Image coding apparatus and method using channel adaptive intra update | |
| Shaheen et al. | A cross layer error control scheme for efficient WLAN multimedia streaming | |
| Kang et al. | The decision scheme of frame importance factor for video streaming system | 
| 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 | |
| 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:20160628 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 | |
| FPAY | Annual fee payment | Payment date:20170627 Year of fee payment:5 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:5 | |
| P22-X000 | Classification modified | St.27 status event code:A-4-4-P10-P22-nap-X000 | |
| FPAY | Annual fee payment | Payment date:20180627 Year of fee payment:6 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:6 | |
| FPAY | Annual fee payment | Payment date:20190625 Year of fee payment:7 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:7 | |
| PR1001 | Payment of annual fee | St.27 status event code:A-4-4-U10-U11-oth-PR1001 Fee payment year number:8 | |
| PC1903 | Unpaid annual fee | St.27 status event code:A-4-4-U10-U13-oth-PC1903 Not in force date:20210711 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:20210711 |