Hundreds of gay rights activists have marched through the streets of New Delhi to demand an end to gay people being stigmatised in India's deeply conservative society.

There was a carnival atmosphere on Sunday as activists sang songs and carried rainbow coloured flags and balloons while marching to the beat of traditional Indian drums.



One group of activists carried a 15m rainbow-coloured banner while others waved placards demanding the freedom to lead lives of dignity.



Demonstrators urged an end to discrimination against gays, lesbians and transgenders four years after a colonial-era law that criminalised gay sex was overturned.



They also demanded that people be allowed to record the gender of their choice in the national census, voter identity cards and other government documents.



One law student taking part stressed that the event was not just about gay men having fun, but more "a community coming together as an act of solidarity".



Ashok Chauhan, an advertising executive in his mid-40s, said he had cycled 8km to the parade to support his friends in their choice of sexuality.



"It's a matter of choice, and each one of us has the right to choose," he said.



The march ended with a public meeting at Jantar Mantar, the main area for protests in New Delhi.



In 2009, the Delhi High Court decriminalized gay sex, which until then had been punishable by up to 10 years in prison.



In some big Indian cities, homosexuality is slowly gaining acceptance, and a few high-profile Bollywood films have dealt with gay issues.



Even so, many marchers on Sunday covered their faces with scarves or wore masks because they have not told their friends and families about their sexuality.