Hello, my name is Park Jungjun and I am currently developing the LINE Group Call feature.
One of LINE’s goals in development is Closing the Distance. To make this come true, LINE develops many different conversation services. On this LINE Engineering Blog post, I would like to introduce you to the features and technologies of one of our conversation services, LINE Group Call.
LINE Group Call – Make voice calls with up to 200 people simultaneously
LINE Group Call lets users have conference calls with up to 200 people simultaneously. Calls are made right from the LINE app. LINE Group Call was first released on March, 2016 with a voice call feature. By December, a video call feature was added to LINE Group Call. Using LINE Group Call, LINE users can make voice and video calls with their friends anywhere in the world for free.
To use LINE Group Call, the following versions of LINE or above must be installed on your device.
- LINE Group Voice Call: LINE iOS 5.11.0 or above, LINE Android 5.11.0 or above, LINE Desktop (Windows/macOS) 4.5.0 or above.
- LINE Group Video Call: LINE iOS 6.9 or above, LINE Android 6.9.2 or above, LINE Desktop (Windows) 5.0.0 or above.
- Low resolution layer → Lowest resolution
- Low resolution layer + Medium resolution layer → Medium resolution
- Low resolution layer + Medium resolution layer + High resolution layer → Highest resolution
Start a call right from the group chat
Start voice or video group calls with a group by tapping the call button directly from the group chat.
See who is talking
LINE Group Call shows you who is currently talking. You can easily identify the speaker even in a busy group voice call.
Show emotions with emotion effects
Show emotions by adding an emotion effect near your picture in video group calls. Tap a face icon to choose one of the emotion effects.
Two video group call layouts
You can choose from two video group call layouts. You can pick one individual user to make that user’s video bigger than everyone else’s. Tap the arrow icon on the top-left corner to change the layout.
These are some of the main features of LINE Group Call. From this point on, I will introduce some of the technologies that were used to make these features. While many different technologies were used to create LINE Group Call, I will focus on the client and server network model, role-based server layering, VQE (Voice Quality Enhancement), and multi-layer video stream technology.
Client and server network model
Although it is different for every user’s data network, usually traffic in 3G and LTE environments result in the user incurring data fees. Therefore, mobile services should strive to minimize the user’s traffic.
In a voice call environment which consists of multiple participants, widely used client and network models are: full mesh, end system mixing, and centralized server methods.
In the full mesh server/client model, all participating clients are connected to each other. In this method, voice and video data are exchanged only between clients. This method is similar to that of P2P sharing. Using this method, server traffic is drastically reduced as most of the data are exchanged between clients. On the other hand, client traffic drastically increases as the number of participants in a group increases. For example, if a user is talking with 200 people, the client receives voice and video data from all 199 people. This means that traffic increases for each person that is added to the group.
End system mixing
The end system mixing method was designed to make up for the problems found in the full mesh method. End system mixing is similar to full mesh but different in several aspects. In end system mixing, high-spec clients, like PCs, act as servers. All the other clients are connected to server clients. In this system, the server clients mixes all the voice data to a streaming data. The server clients take most of the traffic in the network. Regardless of how many clients are added, the traffic only increases on server clients.
In the mobile environment, the problem with this method is that the connections between the clients are not as stable as with a wired internet connection. As a stable internet connection is a requirement for server clients, this method is not suitable for the mobile environment.
The centralized server method is the traditional client and server method. All the clients are connected to the server, and the server takes care of mixing the voices to a stream. Although the server’s traffic may increase, the user’s traffic remains the same. As mentioned above, the most important goal of a mobile service is to minimize the user’s traffic. As a result, LINE Group Call uses the centralized server network model.
Role based server layering
LINE Group Call is a global service which can be used in over 230 different regions. To provide the highest quality calls regardless of where the call is made, LINE Group Call uses servers in different data centers in different regions. LINE Group Call servers are divided into the layers shown below to deal with dispersed connection environments.
LINE Group Call servers are divided into an application server layer and a voice/video layer. The application server layer manages the participants, the chat group, and voice call initiation. The voice and video layer manages voice and video data. The voice and video layer is then further divided into a frontend server and a mix server. The frontend server is where individual clients connect to dispersed regional connections. The mix server mixes voice data and processes video data.
Network latency is one of the most important factors to consider not only for the group call services but for all internet-based services. Network latency is very important for the group call service, as we are providing a “phone call” service. LINE Group Call uses servers in different regions to minimize network latency.
We strive to maintain the highest, optimal voice call quality by having clients connect to the nearest region’s frontend server. With each region’s server connected with LINE’s leased line, LINE Group Call can provide stable, high-quality voice calls.
VQE (Voice Quality Enhancement)
The two most frequent complaints for voice call services are noise and echo issues.
Noise occurs when unnecessary sounds are mixed into the microphone. Echo is when the user can hear their own voice through the call partner. Noise and echo issues are found in all voice call services, including landline calls. To deal with noise and echo issues, LINE Group Call uses a Voice Quality Enhancement (VQE) software module. VQE was also introduced in Improving Call Quality On Popcorn Buzz, A Multi-user Call Service.
Even a small echo or a noise can be a distraction in a phone call, especially in group calls with multiple participants. LINE Group Call attempts to remove as much noise and echo issues as possible with VQE. However, there are many different devices which have different characteristics. Currently, LINE Group Call is used on over 20,000 different devices. LINE is currently working to get the best voice call quality as possible.
We are currently testing our software in an anechoic chamber which can measure standard ITU-T p.311/341 using Head and Torso Simulator (HATS) equipped with an auditory system. We are tuning the software for many newly released devices and are continuing to solve problems with the cooperation of device manufacturers.
Multi-layer Video Stream
LINE Group Call provides video in three different resolutions. The problem is that sending out different videos of different resolutions at the same time leads to a huge traffic burden on the user. One way to solve this would be by using transcoding. By transcoding, the client only sends video in the highest resolution and then the server makes different videos in different resolutions through transcoding. However, as transcoding is a process that puts a heavy load on the CPU, servers are not able to perform many transcoding processes in a regular server environment. To solve this problem, LINE Group Call uses a multi-layer video stream.
A multi-layer video stream forms the video frame from multiple layers. Without having to transcode the video, we can create videos in different resolutions by using different combinations of the layers.
The client which records the video with the camera sends a multi-layer video stream with all the layers included to the server, and then the server sends video to clients of an appropriate resolution by combining the layers. This combination of layers is not transcoding and therefore allows video calls to be processed without any problems.
Call your families and friends with LINE Group Call using a variety of platforms. In addition to mobile, LINE Group Call will soon be released for desktop (macOS). We will continue to work on providing the best voice call quality possible for all platforms. Thank you.